我有Django 1.10和json夹具的多数据库配置用于连接。例如,我的配置看起来像
DATABASES = {
'default': {
'NAME': 'default',
...,
'TEST': {
'NAME': 'test_default',
}
},
'second': {
'NAME': 'second',
...,
'TEST': {
'NAME': 'test_second',
'MIRROR': 'default',
}
}
}
当Django引导测试环境时,它会将TestCase.fixtures
加载到非镜像连接中(在我的情况下仅加载到test_default
)。
当下一个测试用例尝试将模型放在second
连接中时,它会失败并显示DoNotExists。
这是因为在运行测试用例之间使用保存点,因为fixtures被加载到未提交的第一个连接中。
因此,假设在主连接中的镜像连接中存在数据的所有测试都将失败!
这看起来像Django测试引导算法的问题。 我也可能做错了。
为什么Django也没有将灯具加载到镜像连接中?
- 或 -
为什么Django在加载灯具后没有启动事务?