我正在寻找类似的问题,但找不到我的问题的答案。
我在从unittest.TestCase派生的python类中编写了Tests
class TestEffortFormula(unittest.TestCase)
我需要给一个为了测试(请不要不告诉我,我不应该依赖测试的顺序,我只是做)。
在我需要对测试进行排序之前,我用来运行测试的命令是:
unittest.main(testRunner=TeamcityTestRunner())
然后我想使订单消失,所以我尝试了以下操作:
loader = unittest.TestLoader()
loader.sortTestMethodsUsing(None)
loader.loadTestsFromTestCase(TestEffortFormula)
suite = loader.suiteClass()
但是从这里开始,我不知道如何运行测试,尤其是testRunner=TeamcityTestRunner()
像以前一样。
感谢你的帮助
选项1。
一个解决这个(作为一种变通方法)中的溶液在此给出-这表明写入编号方法测试step1
,step2
等等,然后收集,并通过将它们存储dir(self)
和它们产生一个test_
方法,其try
各为s。
不理想,但是您期望的结果。每个测试序列必须是单个TestClass(或使给定的方法适应那里提供的多个序列生成方法)。
选项2。
在链接的问题中,另一个解决方案是您按字母顺序和数字顺序命名测试名称,以便它们按该顺序执行。
但是在两种情况下,都编写整体测试,每个测试都在自己的测试类中。
PS:我同意所有的意见,即不应以这种方式进行单元测试。但是在某些情况下,单元测试框架(如unittest
和pytest
)习惯于进行集成测试,需要模块化的独立步骤才有用。另外,如果质量检查不能影响Dev编写模块化代码,则必须完成这些事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句