«Упорядочить, действовать, утверждать», иногда также называемый «ААА», является полезным шаблоном для организации модульных тестов. Давайте углубимся, чтобы понять, что это такое.
Шаблон «ААА» рекомендует разбивать ваши модульные тесты на 3 различимых раздела. Каждая секция выполняет определенную задачу.
- Упорядочивание. В этом разделе выполните необходимые настройки для модульных тестов. Инициализация объектов, создание шпионов, определение фиктивных ответов — все это относится к этому разделу.
- Действие: в этом разделе вы будете выполнять соответствующие действия. Обычно вы вызываете метод для модульного тестирования.
- Утверждение. В этом разделе вы будете делать утверждения, чтобы проверить, работает ли ваш код так, как задумано, или нет. Вы сравните фактический ответ с ожидаемым ответом и решите, прошла ли ваша тестовая спецификация по нему.
Давайте лучше поймем это на примере -
def myFunc(num) { return num * num }
Предположим, вы хотите выполнить модульный тест над функцией javascript, которая возвращает квадрат числа. Следуя шаблону «AAA», его модульный тест будет -
it('myFunc() should return square of passed args', () => { const expectedResponse = 25; // arrange const actualResponse = myFunc(5); // act expect(actualResponse).toEqual(expectedResponse); //assert });
Хотя в этом примере мы использовали javascript и инфраструктуру jasmine, вы можете применить шаблон «AAA» к любому языку или среде тестирования.
Имейте в виду, что шаблон «ААА» — это не жестко закодированное или жесткое правило, которому нужно всегда следовать. Это просто подход к организации ваших тестовых спецификаций, чтобы сделать их более читабельными и понятными.
Поэтому в следующий раз, когда вы будете писать модульный тест, разделите спецификацию теста на 3 отдельных раздела, следуя мантре «Упорядочить-Действовать-Утвердить» .
Удачного кодирования !!