Проект

Общее

Профиль

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
Интеграционные тесты - это тесты, проверяющие работоспособность двух или более модулей системы, но в совокупности - то есть нескольких объектов как единого блока.
Go to top