0

我有一个逻辑问题。我有一个带有 Selenium Python + TestRails 的测试套件。当测试失败时,所有后续测试也会失败(即使是没有失败的测试)。我知道原因,我的问题找到了解决方案。

我正在使用这种方法:

if self._resultForDoCleanups.failures:
        result_flag = False
elif self._resultForDoCleanups.errors:
        result_flag = False
else:
        result_flag = True

resultForDoCleanups.failures 和错误保留了之前执行的代码中的旧内容。我想知道是否有办法清理此实例或其他解决方案。

我的套房很简单:

suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(excluirServico))
suite.addTest(unittest.makeSuite(exportarGravacoes))
unittest.TextTestRunner().run(suite)

谢谢你们的帮助。

4

1 回答 1

0

我对您的问题的理解是,您希望以每个测试报告为单独的通过/失败的方式执行测试。

我想你想做这样的事情:

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().loadTestsFrom* 方法

于 2016-11-18T08:20:49.737 回答