我遇到一个逻辑问题。我有一个测试套件与Selenium Python + TestRails。当一个测试失败时,所有后续测试也会失败(即使是没有失败的测试)。我知道原因,我的问题是找到了解决办法。
我正在使用这个方法:
if self._resultForDoCleanups.failures:
result_flag = False
elif self._resultForDoCleanups.errors:
result_flag = False
else:
result_flag = True
resultForDoCleanups。失败和错误使以前执行的代码无法执行旧的内容。我想知道是否有一种方法来清理这个实例或其他解决方案。
My suite is simples:
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(excluirServico))
suite.addTest(unittest.makeSuite(exportarGravacoes))
unittest.TextTestRunner().run(suite)
谢谢大家的帮助。
我对您的问题的理解是,您希望以这样一种方式执行您的测试,即每个测试报告为单独的通过/失败。
我认为你应该这样做:
runner = unittest.TextTestRunner()
suites_to_execute = (excluirServico, exportarGravacoes)
for suite_to_execute in suites_to_execute:
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(suite_to_execute))
result = runner.run(suite)
# code to add the above individual result to testrail is to be called below
注意,makeSuite已经过时了,您应该使用TestLoader()。