如何在unittest中从测试套件获取当前运行的测试用例名称
我想知道在测试套件中有16个测试用例时,如何获取当前正在运行的测试用例名称。这些测试是按顺序执行的,也就是按照我把测试添加到测试套件的顺序来执行。当我把所有测试添加到测试套件后,我可以预览这个对象,但在测试运行时,我该如何获取当前正在执行的测试呢?也许有某个变量保存了这个信息?
举个例子:
def suite():
testSuite= unittest.TestSuite()
testSuite.addTest(FlightsTestCases('test_sel__reservation_one_way_wizzair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_round_wizzair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_round_tair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_credit_card'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_credit_card'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_round_wizzair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_easyjet_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_ryanair_transfer'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_round_ryanair_credit_card'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_duplicated'))
testSuite.addTest(FlightsTestCases('test_reservation_wrong_card_lowcost'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_credit_card'))
testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_wrong_credit_card'))
return testSuite
if __name__ == "__main__":
result = unittest.TextTestRunner(verbosity=2).run(suite())
sys.exit(not result.wasSuccessful())
这些测试是使用Selenium-RC框架执行的。
2 个回答
20
unittest.TestCase._testMethodName
是一个在 Python 测试框架中使用的东西。
下面是一个示例代码:
import unittest
class BasicTests(unittest.TestCase):
def test_print(self):
print(self._testMethodName)
70
unittest.TestCase.shortDescription()
这个方法会返回一个测试的描述,如果没有提供描述,就返回None。默认情况下,它会返回测试方法文档字符串的第一行(如果有的话),如果没有文档字符串,就返回None。
这个方法会返回一个字符串,用来标识具体的测试案例。通常情况下,这个字符串是测试方法的完整名称,包括模块名和类名。
希望这些信息对你有帮助。