我编写的代码可以找到可以在包中运行的所有测试,并将它们收集到一个测试套件中。唯一的问题是某些测试依赖于已经运行的其他测试。
这似乎是糟糕的测试架构,但我测试的是应用程序的启动和关闭。因此,我进行了测试,确保一切都得到适当的生活,然后是另一组测试,确保一切都得到妥善清理。显然,在启动测试完成之前,我无法运行关机测试。
在Python的单元测试中是否可以说"如果以下情况属实,则只运行此测试,否则运行其他测试并返回给我"?
据我所知,我可以通过明确说明运行启动测试来执行此排序,现在运行关机测试。但是我使用测试发现,这样你就可以编写更多的测试,而不必明确地调用它们,所以我试图避免这样做。
答案 0 :(得分:0)
unittest
模块要求每个测试都能够独立运行:不依赖于之前或之后运行的其他测试。但是,通过向测试类添加setUp()
或tearDown()
方法,您可以依赖其他代码在每次测试之前或之后运行。您还可以依赖其他代码在使用setUpClass()
, setUpModule()
, and their tear downs的组测试之前或之后运行。
我认为PyTest灯具有更大的灵活性,但我还没有太多使用它们。