在py.test中实现setUpTestData样式行为的正确方法是什么

时间:2017-04-15 19:20:18

标签: pytest pytest-django

我有一堆固定的东西,我想为测试课做一次,但我也不想让相关的测试弄乱它。

我还没有真正得到py.test灯具系统,所以我没有看到应该怎么做。

在vanilla Django中,这个东西是通过setUpTestData实现的,它允许你在DB中为测试类创建一些固定装置。然后在每个测试用例的开始处它删除一个事务保存点,并在每次测试结束时重置到该保存点。 (除此之外,它还在整个类中进行事务处理,以便在最后留下一个干净的数据库。)

我可以通过继承Django的TransactionTestCase来获得这个功能,但pytest-django似乎想要在没有它的情况下运行,并且我已经实现了我需要的所有其他功能而不这样做。

1 个答案:

答案 0 :(得分:0)

我已经四处寻找这个了,我能找到的最好的是这个pytest插件,我没有测试过自己:

https://github.com/tipsi/pytest-tipsi-django

根据pytest-django问题列表,看起来之前已经提出了这个问题,但是没有采取行动:

https://github.com/pytest-dev/pytest-django/issues/514