Должно ли модульное тестирование быть встроено в фреймворк, или мы просто создаем новую папку с именем tests и включаем в нее все необходимые классы и модульные тесты?папка для него.Загромождать производственный код тестами, как правило, не очень хорошая идея с точки зрения производительности и отладки.
Итак, чтобы протестировать модель, следует ли включать некоторые части платформы в модульные тесты?
Меньше, тем лучше.Модульные тесты должны требовать практически никаких зависимостей.Если класс A
зависит от B
, вы должны смоделировать B
, чтобы убедиться, что если B
не удастся, то и A
тоже не будет неудачным.
Основным преимуществом юнит-тестов (если все сделано правильно) является то, что он позволяет вам легко определить проблему.Если A
терпит неудачу из-за зависимости B
, вы сначала посмотрите на A
, , а затем B
.Опять же, если B
зависит от C
и C
терпит неудачу, вам придется изучить A
, B
и , а затем C
.Это в значительной степени разрушает одно из величайших преимуществ модульного тестирования.Если все тесты выполнены правильно, сбой в C
не вызовет сбой нигде, кроме как в C
, поэтому у вас будет один класс для поиска, чтобы решить проблему.
Чтобы действительно сделать вашКод безошибочный, вы можете использовать модульные тесты в сочетании с PHP утверждениями :
$return = $this->addOne($some_param);
assert('$return == $some_param + 1');
Кстати, нет никакой разницы между модульным тестированием MVC какв отличие от юнит-тестирования в целом.