#php #unit-testing #tdd
#php #модульное тестирование #tdd
Вопрос:
Я создаю небольшую библиотеку, которая использует собственные методы PHP, такие как json_encode
и file_put_contents
.
Теперь я провожу модульное тестирование, и json_encode
меня не беспокоит, если оно запускается, но file_put_contents
создает мне файлы при запуске модульных тестов.
Какие у вас есть идеи по этому поводу?
Я думал о том, чтобы инкапсулировать эти методы в помощниках, например. JsonHelper, FileHelper, с методами, которые их выполняют, и имитируют их в исходном классе.
Что вы думаете?
Комментарии:
Ответ №1:
Инкапсуляция функций, которые являются внешними зависимостями, в целом является хорошей идеей. В PHP у меня обычно были бы такие классы, как JsonEncoder
, File
и Calendar
(последний для инкапсуляции функций даты). Пожалуйста, не вызывайте их XyzHelper
. Кролик умирает каждый раз, когда люди так называют классы.