У меня есть 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'));
в тестах.