【发布时间】:2012-09-05 15:26:27
【问题描述】:
我想在运行测试用例之前将测试数据插入数据库。
从 django 的详细输出中,它说它已经从固定装置加载了很多对象。但是测试数据库中的表仍然是空的。我在我的测试代码中设置断点,然后检查测试数据库的表。我什至调试了 django 代码,它确实执行了插入 sql 并返回了受影响的行。但是我还是找不到test db中的数据!
数据库服务器是mysql。
有解决办法吗?
django 测试的详细输出,
...
Loading 'goods_756399566_3my10' fixtures...
...
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.xml.zip fixture 'goods_756399566_3my10'...
No xml fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'.
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.xml.bz2 fixture 'goods_756399566_3my10'...
No xml fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'.
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json fixture 'goods_756399566_3my10'...
Installing json fixture 'goods_756399566_3my10' from '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'.
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json.gz fixture 'goods_756399566_3my10'...
No json fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'.
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json.zip fixture 'goods_756399566_3my10'...
...
Installed 117 object(s) from 2 fixture(s)
更新:
我尝试转储与 initial_data.json 相同的数据,这个夹具中的数据可以插入到测试数据库中。我不知道为什么 django 在运行测试用例之前未能插入固定装置,但这是让我的工作继续进行的一种解决方法。
解决方法:
我不确定这是我的环境造成的。无论如何我在做测试时将数据库更改为SQLLite,将夹具数据导入内存数据库没有问题。在没有安装 mysql 的情况下运行单元测试也是有意义的。
【问题讨论】:
-
似乎是在给定文件夹中找不到文件
goods_756399566....。检查路径? -
@will-hart,下面的输出表明它已找到并安装。
Trying '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures' for goods_756399566_3my10.json fixture 'goods_756399566_3my10'... Installing json fixture 'goods_756399566_3my10' from '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'. -
很公平,我只是在看这条线:
No xml fixture 'goods_756399566_3my10' in '/Users/kane/git/blizzard_recommend/blizzard_recommend/src/web/fixtures'.
标签: python mysql django django-models