Например, если тестируется массив
целые, которые должны быть все два выше
чем другой (2, 4, 6, 8 и т. д.), является
это действительно достаточно, чтобы получить возврат
значение из метода и утверждают, что
это шаблон дела?
Возможно, вам нужно немного подумать о том, как будет использоваться эта функция. Это будет использоваться с очень большими числами? Если это так, вы можете попробовать некоторые тесты с очень большими числами. Будет ли он использоваться с отрицательными числами?
Я что-то упустил? Кажется
как метод единого модульного тестирования
чтобы быть более устойчивым путем тестирования
То же самое ожидание в нескольких отношениях. Так
вышеуказанное ожидание может быть подтверждено
проверяя увеличение двух
происходит, но и следующий номер
делится на 2. Или это просто
избыточная логика «избыточная логика»
Хм ... ну 1,3,5,9 пройдет тест assertEachValueIncrementsByTwo, но не пройдет тест assertValuesDivisibleByTwo. Имеет ли значение, что они делятся на 2? Если так, то вам действительно стоит это проверить. Если нет, то это бессмысленный избыточный тест.
Вы должны попытаться найти более 1 теста для ваших методов, но избыточные тесты ради дальнейшего тестирования вам не помогут. Добавление теста assertValuesDivisibleByTwo, когда это на самом деле не требуется, просто запутает более поздних разработчиков, которые пытаются изменить ваш код.
Если вы не можете больше думать о тестах, попробуйте написать функцию произвольного ввода, которая будет генерировать 100 случайных массивов тестов при каждом запуске ваших тестов. Вы будете удивлены тем, сколько ошибок вырвалось из-под радара, если вы проверите только один или два входных набора.