Как получить имя запущенного тестового набора из testsuite в unittest

Как я могу получить имя запущенного тестового набора, в то время как в коллекции testsuite есть 16 тестовых наборов. Тесты выполняются последовательно (в порядке добавления теста в коллекцию testSuite). Когда я добавляю все тесты в коллекцию testSuite, я могу предварительно просмотреть этот объект, но как я могу получить выполняемый в данный момент тест во время выполнения тестов. Может быть, какая-то переменная содержит эту информацию?

пример:

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.

1 ответ

Решение

unittest.TestCase.shortDescription()

Возвращает описание теста или None, если описание не было предоставлено. Реализация этого метода по умолчанию возвращает первую строку строки документации метода тестирования, если она доступна, или None.

unittest.TestCase.id ()

Вернуть строку, идентифицирующую конкретный контрольный пример. Обычно это полное имя метода теста, включая имя модуля и класса.

Надеюсь, один из них полезен для ваших нужд.

unittest.TestCase._testMethodName

Пример кода:

import unittest


class BasicTests(unittest.TestCase):

    def test_print(self):
        print(self._testMethodName)
Другие вопросы по тегам