@HiDiv
fullstack разработчик (php, js, html, css, vuejs)

Как реализовать модульный тест метода содержащего создание экземпляра SoapClient?

Внутри собственного класса использую SoapClient для обмена данными с внешним источником. Чтобы было удобнее тестировать изолировал создание экземпляра SoapClient в виде отдельного метода getSoapClient. Внутри него создаю объект класса SoapClient передавая в конструктор определенный набор параметров, в том числе url внешнего сервиса.

Далее по коду для написания unit-тестов мокаю результат метода getSoapClient и все получается, как нужно...

Вопрос в том, как написать unit-тест для самого метода getSoapClient, который фактически состоит из одной строчки
return new SoapClient($url, $params);

Мне нужно проверить, что на вход конструктора подается именно тот url, который нужно, и используются правильные параметры для инициализации...

В Инет все говорят копать в сторону dependency injection, но мне в данном случае неудобно получать "из вне" уже готовый объект, плюс все равно где-то в другом месте кода нужно будет проверять параметры его инициализации...
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akela_wolf
Extreme Programmer
Немного непонятно что именно вы хотите тестировать в данном методе.

Это типичный humble object, который юнит-тестами покрывать не требуется. Суть в том, чтобы сделать такие сложнотестируемые места настолько простыми, насколько это в принципе возможно и свести вероятность ошибки в них к минимальной.

Этот код может (и желательно чтобы был) быть проверен интеграционным или приемочным тестом, он за рамками юнит-тестирования.
Ответ написан
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
а смысл писать тесты для подобных методов-обёрток?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы