У меня есть Zend_Soap_Server. Это должно быть проверено. Одна проблема - юнит-тестирование и режимы разработки должны работать с разными базами данных. Это можно сделать через .htaccess:
SetEnvIfNoCase User-Agent (.*) APPLICATION_ENV=development
SetEnvIfNoCase User-Agent testing APPLICATION_ENV=testing
Для меня это будет нормально, я использую Zend_Soap_Client для разработки / производства и добавляю дополнительный параметр для тестирования. Особых изменений в исходном коде для поддержки тестирования нет.
Проблема - я не могу установить пользовательский агент для ( Zend_Soap_Client
Кажется, этот параметр не поддерживается или не задокументирован.
Я пытался сделать то же самое через mod_rewrite и добавив
new Zend_Soap_Client('...?wsdl&testing');
но для этого требуется изменить Zend_Soap_Server для поддержки тестирования Query_String, в противном случае действия мыла не отражаются при «тестировании» вне wsdl. На мой взгляд, это нехорошо.
Я согласен, что это больше связано с приемочным тестированием, а не с единичным тестом (у меня есть тесты для таких классов, как $server->setClass('classWS')
), но в любом случае он мне нужен независимо от терминологии.
Итак, что бы хорошо для меня работало, это что-то вроде:
new Zend_Soap_Client($wsdl, array('useragent' => 'testing'));
в тестах.