JAVA TESTING » История » Версия 1
Александр Александров, 22.04.2019 00:21
1 | 1 | Александр Александров | h1. JAVA TESTING |
---|---|---|---|
2 | |||
3 | h2. Вопросы |
||
4 | |||
5 | # Чем стаб (stub) отличается от мока (mock)? |
||
6 | # Что такое unit testing? |
||
7 | # Что такое Фикстуры? |
||
8 | # Какие есть аннотации фикстур? |
||
9 | # Для чего нужна Аннотация @Ignore? |
||
10 | # Что такое интеграционные тесты? |
||
11 | |||
12 | h2. Ответы |
||
13 | |||
14 | h3. Чем стаб (stub) отличается от мока (mock)? |
||
15 | |||
16 | Stub - объекты, которые предоставляют заранее заготовленные ответы на вызовы во время выполнения теста и обычно не отвечающие ни на какие другие вызовы, которые не требуются в тесте. Также могут запоминать какую-то дополнительную информацию о количестве вызовов, параметрах и возвращать их потом тесту для проверки. Используется для "затычки" сервисов, методов, классов и т.д. Абсолютно все равно что они вернут при работе или сколько раз произойдет вызов. |
||
17 | |||
18 | Mock - объекты, которые заменяют реальный объект в условиях теста и позволяют проверять вызовы своих членов как часть системы или unit-теста. Содержат заранее запрограммированные ожидания вызовов, которые они ожидают получить. Применяются в основном для т.н. interaction (behavioral) testing. Используется для подмены результатов вызова функций в юнит тестах (важен результат), для учета количества вызовов функций и просто ожидания их вызовов. Используется в области Assert юнит теста. |
||
19 | |||
20 | h3. Что такое unit testing? |
||
21 | |||
22 | Модульное тестирование или unit testing - процесс проверки на корректность\ функционирования отдельных частей исходного кода программы путем запуска тестов в искусственной среде. |
||
23 | |||
24 | h3. Что такое Фикстуры? |
||
25 | |||
26 | Фикстура (Fixture) - состояние среды тестирования, которое требуется для успешного выполнения тестового метода. Может быть представлено набором каких-либо объектов, состоянием базы данных, наличием определенных файлов, соединений и проч. |
||
27 | |||
28 | h3. Какие есть аннотации фикстур? |
||
29 | |||
30 | Предусмотрено четыре аннотации фикстур - две для фикстур уровня класса и две для фикстур уровня метода. |
||
31 | |||
32 | * @BeforeClass - запускается только один раз при запуске теста. |
||
33 | * @Before - запускается перед каждым тестовым методом. |
||
34 | * @After - запускается после каждого метода. |
||
35 | * @AfterClass - запускается после того, как отработали все тестовые методы. |
||
36 | |||
37 | h3. Для чего нужна Аннотация @Ignore? |
||
38 | |||
39 | Аннотация @Ignore заставляет инфраструктуру тестирования проигнорировать данный тестовый метод. Аннотация предусматривает наличие комментария о причине игнорирования теста, полезного при следующем к нему обращении. |
||
40 | |||
41 | h3. Что такое интеграционные тесты? |
||
42 | |||
43 | Интеграционные тесты - это тесты, проверяющие работоспособность двух или более модулей системы, но в совокупности - то есть нескольких объектов как единого блока. |