Я новичок в TDD и phpunit.тестирование PHP_SAPI! = 'Cli' код с phpunit
Я тестирую код, который разветвляется на основе это метод выполнения:
if (PHP_SAPI!='cli') {
header('HTTP/1.1 '.$statusCode);
}
Я хочу, чтобы получить как можно больше покрытия кода, насколько это возможно, но я не могу показаться, чтобы проверить эту часть (потому что PHPUnit является тестирование через интерфейс командной строки).
Есть ли способ обойти это? Или другой способ проверить эту часть?
Я думал о попытке скручивания или что-то в этом роде, но там, где пройденные тесты будут относиться к системе пользователя, проверяющего ее.
Вы действительно нашли код-запах. Вместо этого вы должны иметь это как введенный параметр для этого кода * или * две реализации, один для CLI и один для HTTP, чтобы вы могли тестировать оба устройства. Если это не ваш код, вам не нужно тестировать его. – hakre
Кстати, если бы вы делали TDD (записывая тест перед написанием кода), вы бы не столкнулись с этой проблемой в первую очередь. Так же, как дополнительная заметка и сделать термин TDD более понятным, я не сужу, мне потребовалось довольно много времени, пока я не понял преимущества в написании тестов в первую очередь. – hakre