【发布时间】:2011-01-28 08:11:44
【问题描述】:
我正在尝试使用 PHPUnit 测试 Web 服务接口类。基本上,这个类调用 SoapClient 对象。我正在尝试使用此处描述的getMockFromWsdl 方法在 PHPUnit 中测试此类:
但是,由于我想测试同一个类的多个方法,所以每次设置对象时,我还必须设置模拟 WSDL SoapClient 对象。这会导致抛出致命错误:
Fatal error: Cannot redeclare class xxxx in C:\web\php5\PEAR\PHPUnit\Framework\TestCase.php(1227) : eval()'d code on line 15
如何在多个测试中使用相同的模拟对象,而不必每次都从 WSDL 中重新生成它?这似乎是问题所在。
--
已被要求发布一些代码以查看,这是 TestCase 中的设置方法:
protected function setUp() {
parent::setUp();
$this->client = new Client();
$this->SoapClient = $this->getMockFromWsdl(
'service.wsdl'
);
$this->client->setClient($this->SoapClient);
}
【问题讨论】:
标签: php web-services soap phpunit