Переучиваться UnitTest рамки.
Автоматизированные шаги:
1: написать прецеденты TestCaase всех случаи использования были test_ начало, случаем является функцией, не может быть массовым участием, только само ключевым словом.
2: Написать утверждают Assert, сравнение фактических результатов и ожидаемые результаты
3: Пример выполнения 1:. TestSuite хранения Пример 2: TestLoader найти примеры использования, загружены с вариантом осуществления, хранится внутри TestSuite
4: протокол испытаний HTMLTestRunner
5: Когда операция мыши не теряется, предпочтительно в начале и в конце разряда мыши, предотвращая работать только одного варианта использования.
использование:
Цель испытаний: Проверка сложения и умножения:
класс TestMethod (): # запись Use Case # : вариант использования является функцией , которая не может передавать аргументы, только само ключевое слово # : Все случаи использования были test_ начало DEF __init__ (Я, А, Ь): self.a = self.b = B DEF надстроек (Self): '' ' добавление ' '' обратный self.a + self.b, DEF Multi (Self): '' ' умножения ' '' вернуть self.a * self.b,
Тестовые и утверждение:
от TaceCase.math_method Импорт TestMethod # TODO тест целевого класса Импорт UnitTest # 1:. написан Пример TestCaase # 2: выполнение Пример 1:. TestSuite хранения Пример 2: TestLoader найти примеры использования, загружены с вариантом осуществления , хранится TestSuite внутри # 3: сравнение фактических результатов и ожидаемые результаты утверждать утверждают # 4: тестовый отчет htmltestrunner класса TestMathMethod (unittest.TestCase): «» « тест математических методов » «» # написанных в примере # : вариант использование является функция , которая не может передавать аргументы, только само ключевое слово # : все случаи использования test_ уже начиная # : во время выполнения курсор не может быть привлечен к ответственности, то лучше положить мышь и начало конца DEF РЕЖИМ УСТАНОВКИ (Self): «» « используется для выполнения подготовительных работ » «» Print (' Begins Пример исполнения ' ) DEF test_add_two_positive (Self): '' ' тест два положительных числа вместе ' '' Результат = TestMethod (3,3 ) .add () для печати ( " значение результата равно 3 + 3: " , Результат) # TODO утверждает , чем ожидалось , и фактические значения, на основе соглашения о, отказ противоречивую self.assertEqual (6, результат,. ' 3 + 3 просчитались.. ' ) DEF test_add_two_zero (Self): '' ' тест 2 добавление 0 '' ' Result = TestMethod (0,0) .Add () Print ( "Результаты 0 + 0: " , Result) self.assertEqual (0, Result) DEF test_add_two_negative (Self): '' ' отрицательные результаты при добавлении 2 ' '' Result = TestMethod (-3, -3 ) .add () Печать ( " Результаты -3 + -3 значение: " , Результат) self.assertEqual ( -6 , Результат) DEF Teardown (Self): '' ' используется для очистки данных ' '' Print ( ' полных с исполнением примера ' ) ЕСЛИ __name__ == ' __main__ ' : ' «»UnitTest порядок выполнения кодирования в формате ASCII, Аз порядок выполнения «» ' unittest.main ()
Реализация вариантов использования:
от TaceCase.unit_testing Импорт TestMathMethod Импорт UnitTest Импорт HTMLTestRunner Люкс = unittest.TestSuite () # TODO создания экземпляра объекта, хранение в примере # 1 # выполнить единый случай использования, случаи передачи использовать (функция) Название # suite.addTest (TestMathMethod.test_add_two_positive) # Метод 2 TestLoader Создание загрузчика Loader = unittest.TestLoader () # имя класса передается TODO осуществляется suite.addTest (loader.loadTestsFromTestCase (TestMathMethod)) # методы. 3 из TaceCase Импорт unit_testing # .py TODO исполнение передача имени модуля #suite.addTest (loader.loadTestsFromModule (unit_testing)) # 执行 бегуна = unittest.TextTestRunner () runner.run (люкс)
Отчет об испытании:
# 出HTML报告 с открытым ( ' ../report.html ' , ' термометр ' ) , как F: бегун = HTMLTestRunner.HTMLTestRunner (поток = F, детальности = 1, заголовок = " 测试报告" ) runner.run (люкс)