在Django类和文件中组织测试

时间:2014-03-31 20:16:02

标签: python django testing django-models django-testing

我正在使用Django 1.6,目前我正在他们自己的单独模块中组织我的功能和单元测试,如下所示:

/functional_tests/test*.py

/unit_tests/test*.py

我的问题是,在单个文件中创建多个类与在每个文件中创建具有单个类的多个文件之间的区别在哪里?有标准的最佳做法吗?

由于

1 个答案:

答案 0 :(得分:3)

我只是描述我的见解并分享一些链接。

首先,你已经做的好事是你正在分离功能和单元测试。

另外,我更喜欢遵循“每个文件一个测试用例”和“每个测试方法尽可能少的断言”规则。

但是,有时候,你想要测试一个视图的不同“模式”,例如,如果用户只想更改密码并且用户忘记密码并更改密码,则可以调用更改密码视图密码使用临时密码。在这种情况下,将视图测试分成两个TestCase s可能是个好主意,每个{{1}} s用于不同的模式。在这种情况下,您可以将两个测试用例放在同一个文件中,也可以创建一个包含两个单独文件的包。它通常取决于测试的复杂性,大小和可读性。

而且,实际上,Zen of Python原则可以提供帮助:

  • Flat比嵌套更好。 (可能每个文件没有多个测试用例)
  • 可读性很重要。 (如果测试用例很大,可能需要将其拆分为逻辑部分)

还有一些关于这个主题的链接:

另外,值得一看的是django本身organizes tests

希望有所帮助。