在python的unittest测试套件中执行测试顺序

时间:2017-09-29 20:14:43

标签: python unit-testing python-unittest

我编写的代码可以找到可以在包中运行的所有测试,并将它们收集到一个测试套件中。唯一的问题是某些测试依赖于已经运行的其他测试。

这似乎是糟糕的测试架构,但我测试的是应用程序的启动和关闭。因此,我进行了测试,确保一切都得到适当的生活,然后是另一组测试,确保一切都得到妥善清理。显然,在启动测试完成之前,我无法运行关机测试。

在Python的单元测试中是否可以说"如果以下情况属实,则只运行此测试,否则运行其他测试并返回给我"?

据我所知,我可以通过明确说明运行启动测试来执行此排序,现在运行关机测试。但是我使用测试发现,这样你就可以编写更多的测试,而不必明确地调用它们,所以我试图避免这样做。

1 个答案:

答案 0 :(得分:0)

unittest模块要求每个测试都能够独立运行:不依赖于之前或之后运行的其他测试。但是,通过向测试类添加setUp()tearDown()方法,您可以依赖其他代码在每次测试之前或之后运行。您还可以依赖其他代码在使用setUpClass(), setUpModule(), and their tear downs测试之前或之后运行。

我认为PyTest灯具有更大的灵活性,但我还没有太多使用它们。