Как называется вид тестирования, в котором после миграции в базе данных проверяется правильная ли связь межлу двумя колонками?
Есть таблица A в котором есть поля Field1 и Field2. Между этими двумя полями есть четко известная зависимость. Для простоты возьмем Field2 = Field1 * 2. Но к сожалению так оказалось, что из за ошибки в работе скрипта, есть в таблице A записи, которые не удовлетворяют этому условию. Надо написать тест, который выявляет такие случаи.
К какому типу тестов относятся эти тесты? Модульные, интерационные, функциональные, e2e или Acceptance (слышал во время стрима что бывают и такие тесты). Сам интуитивно не могу понять к какому типу относятся эти тесты.
Ну смотри. В первую очередь, надо понимать, что тестирование - это про проверку логики кода.
Все действия в базе производит некий метод или набор методов. Значит нужно проверять логику работы этих методов.
Это можно сделать на разных уровнях пирамиды тестирования, но чем ниже находятся проверки, тем лучше. В данном случае, проверять можно на уровне интеграционных тестов, но возможно и на уровне модульных, в зависимости от того, как реализован код системы
ps. К тестам на миграцию это не имеет никакого отношения
Я решил так сделать. Мысленно представил момент, когда поле Field2 только добавили. Оно заполнено дефолтным значением. Все хорошо, все отлично.
Потом сработал одноразовый скрипт (если же просто писали SQL запрос, то это тоже будем считать за одноразовый скрипт) в результате которого значение поля Field2 поменялось у всех записей. Теперь становится ясно, что метод который вычислял значение этого поля Field2 был неправильно составлен. Требуется проверить этот метод. А это как раз относится к юнит тестам. По-моему вот так.