我正在使用Django 1.6,目前正在将我的功能和单元测试组织在各自独立的模块中,如下所示:
/functional_tests/test*.py
/unit_tests/test*.py
我的问题是,在单个文件中创建多个类与在每个谎言中创建具有单个类的多个文件之间的区别在哪里?是否有标准的最佳做法?
谢谢
解决方法:
我只会描述我的见解并分享一些链接.
首先,您已经在做的好事是将功能测试和单元测试分开.
另外,我更喜欢遵循“每个文件一个测试用例”和“每个测试方法尽可能少的断言”的规则.
但是,有时候,您想测试一个视图的不同“模式”,例如:如果用户只想更改密码,并且如果用户忘记了该密码并使用临时密码更改了密码,则可以调用更改密码视图.一.在这种情况下,将视图测试分为两个TestCases(每个用于不同的模式)可能是一个好主意.在这种情况下,您可以将两个测试用例都放在同一个文件中,也可以使用两个单独的文件创建一个包.它通常取决于测试的复杂性,大小和可读性.
而且,实际上,Zen of Python原则可以帮助:
>扁平比嵌套更好. (每个文件可能没有多个测试用例)
>可读性计数. (如果测试用例很大,则可能需要将其拆分为逻辑部分)
还有一些关于这个主题的链接:
> Testing in Django – Best practices and examples
> Testing and Django by Carl Meyer(我个人遵循他的许多指导原则)
> Django Testing: Test Organization and Some Best Practices
另外,值得一看的是Django organizes tests本身的情况.
希望能有所帮助.