2015-10-12 5 views
1

У меня есть модель под названием TestCase (я знаю ....), и я бы хотел протестировать ее в своем наборе тестов.Тест Django с моделью TestCase

class TestTestCase(TestCase): 
    def setUp(self): 
     self.test_case = mommy.make('main.TestCase') 

    def test_property1(self): 
     self.assertEqual(self.test_case.property1, 'foo_bar') 

Запуск мой тест, я получаю:

RuntimeError: Conflicting 'c' models in application 'nose': <class 'main.models.TestCase'> and <class 'nose.util.C'>. 

Как я могу сделать такого рода тесты проходят без переименования моей модели?

+2

Вы можете сделать это при импорте модулей: 'from x import y as z' – Wtower

+0

Я использую' mommy' в своем тесте. Я ничего не импортирую. :/ – abrunet

+1

Возможно, вы можете попробовать «из django.test import TestCase как DjangoTestCase». –

ответ

2

При импорте модуля Python, Python позволяет изменять импортированные имя, чтобы избежать конфликтов имен:

from x2 import y 
from x import y as z 

Тогда вы сможете обратиться к импортированной модулю ху, как г без conficting с x2.y модуль.

+0

Ответ был очевиден, по какой-то причине я хотел, чтобы изменить способ импорта мамы («Я устал»). Спасибо за ваш быстрый ответ. знак равно – abrunet

Смежные вопросы