环境的初始夹具:的Django 1.7:问题加载测试
Django的版本:1.7.1
鼻版本:1.3.4
Django的鼻子版本:1.2
我有两个应用:
狗和人类
该模型有:
class Dog(models.Model):
human = models.ForeignKey('humans.Human', null=False)
def askFood(human):
...
人类
和在模型中有一个函数像在实例属性的人力,像
name = models.CharField(_('Name'), null=False, max_length=120)
的两个应用程序列在INSTALLED_APPS在设置文件中。
的FIXURE_DIRS如下:
FIXTURE_DIRS = (
os.path.join(os.path.dirname(__file__), '../**/tests'),
)
测试是在狗的应用程序的测试文件夹中。
我有一个测试狗应用程序来测试askFood funcion,我有一个JSON夹具(initial_data)与人类。
[
{
"pk": 1,
"model": "human.Human",
"fields": {
"name": "Test"
}
},
]
测试是:
class DogFixtureTestCase(TestCase):
fixtures = ['./initial_data.json']
class TestFixtureDog(DogFixtureTestCase):
def test_ask_food(self):
...
我执行命令测试:
python manage.py test dog
有一个错误:
no such table: dog_dog
显然它不是同步的所有这些应用程序正在创建只有do的表g,当灯具运行时,它找不到人表。我如何强制测试为所有应用程序创建模型?
在此先感谢您的帮助:)
[编辑]
我改变了标题,并张贴的答案,也许帮助别人同样的问题。
问题不在于同步不会创建所有表,而是错误消息。问题在于django 1.7中不支持的初始数据装置。
听起来像迁移问题。我还没有机会使用Django 1.7迁移,但请确保遵循文档中的建议,我认为这将解决您的问题。 https://docs.djangoproject.com/en/1.7/topics/migrations/ – 2014-11-14 17:00:50