有没有办法按照编写顺序执行测试?
PyUnit中发生的事情是每当我运行测试时,它都以字母顺序运行。这意味着即使我在TestB之后编写TestA,TestA也会在TestA之前运行。这给我带来了麻烦。
import unittest
class SimpleTestCase(unittest.TestCase):
def testB(self):
print "Test B"
def testA(self):
print "Test A"
我希望在testB
之前执行testA
。
答案 0 :(得分:1)
我使用提供here的PyTest排序插件找到了它的解决方案。
在CLI中尝试py.test YourModuleName.py -vv
,测试将按照它们在模块中出现的顺序运行(首先是testB,然后是testA)
我做了同样的事情,对我来说很好。
注意:您需要安装PyTest包并导入它。
答案 1 :(得分:0)
如果这些是单元测试,那么它们应该是完全隔离的,所以你应该检查那些测试中的设计缺陷。
如果你真的需要某种原因,使用特定的顺序,那么你有三种方法可以在python中实现这个目的:
答案 2 :(得分:-1)
PyUnit使用TestLoaded收集套件中的所有测试用例并按字母顺序运行
例如,测试A在测试B之前运行
如果你想首先运行TEST B,我们必须创建函数并添加测试B然后测试A
def suite():
suite = unittest.TestSuite()
suite.addTest(SimpleTestCase('test_B'))
suite.addTest(SimpleTestCase('test_A'))
return suite