«Упорядочить, действовать, утверждать», иногда также называемый «ААА», является полезным шаблоном для организации модульных тестов. Давайте углубимся, чтобы понять, что это такое.

Шаблон «ААА» рекомендует разбивать ваши модульные тесты на 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 отдельных раздела, следуя мантре «Упорядочить-Действовать-Утвердить» .

Удачного кодирования !!