Позвольте мне объяснить себя.
function insertObjects($objs) {
foreach ($objs as $obj) {
$this->repository->insert($obj);
}
}
Я не хочу проверять, что вставка в базу данных работала, потому что я предполагаю, что она работает (это другой модуль). Я также не хочу тестировать foreach, потому что очевидно, что foreach будет работать. Поэтому единственное, что нужно проверить, это то, что $ objs — это правильно сформированный массив. Но если $ objs — это фиктивные данные, которые я буду передавать … значит ли это, что для этой функции проверять нечего?
Если есть вероятность неверного ввода (некорректно сформированный массив, нулевое значение и т. Д.), Вам нужно обработать этот случай в своем методе, явно проверив его.
В этом тесте вы затем попытаетесь вызвать ваш метод с различными недопустимыми значениями и проверить, правильно ли реагирует ваш метод, то есть метод вставки базы данных не вызывается, генерируются исключения, регистрируются ошибки и т. Д.
Кроме этого, единственное, что нужно проверить — это то, что метод вставки базы данных вызывается с параметрами, которые соответствуют значениям в допустимом массиве тестов, который вы передаете.
Других решений пока нет …