我试图使用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
Run Code Online (Sandbox Code Playgroud)
如何在多个测试中使用相同的模拟对象,而不必每次都从WSDL重新生成它?这似乎是个问题.
-
有人要求发布一些代码来查看,这里是TestCase中的setup方法:
protected function setUp() {
parent::setUp();
$this->client = new Client();
$this->SoapClient = $this->getMockFromWsdl(
'service.wsdl'
);
$this->client->setClient($this->SoapClient);
}
Run Code Online (Sandbox Code Playgroud)