Исследования структуры UnitTest тяжелого питона

Переучиваться 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 (люкс)

 

рекомендация

отwww.cnblogs.com/xiamaojjie/p/11785679.html