Стандарты кодирования модульных тестов

Стандарты кодирования модульных тестов
Стандарты кодирования модульных тестов - nci @ Unsplash

Навскидку я могу назвать три различия в стиле кодирования тестового кода.

При именовании тестовых методов я следую шаблону shouldDoSomethingWhenSomeConditionHolds.

Внутри теста принято следовать следующему шаблону интервалов:

@Test
shouldReturnAccountBalenceWhenGetBalenceIsCalled() {
    // Some lines 
    // of setup code
    // go here.

    // The action being tested happens after a blank line.

    // An assertion follows another blank line.
}

Некоторые настаивают только на одном утверждении на тест, но это далеко не универсально.

DRY (Don't Repeat Yourself) в меньшей степени учитывается в тестовом коде, чем в производственном. Хотя некоторые повторяющиеся коды следует поместить в метод setUp или класс testUtils, стремление к нулевому повторению в тестовом коде приведет к жестко связанным и негибким тестам, что препятствует рефакторингу.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Написание модульных тестов в Visual Studio 2017 для C++

Прикрепленное видео 2 - Тесты. Модульное тестирование


LetsCodeIt, 24 мая 2023 г., 05:41