我正在使用Zend_Test
为我的Zend Framework应用程序编写一些集成测试。但是我知道如何为我的一些使用定制Web API的控制器编写测试。我知道Zend_Controller_Response_HttpTestCase
,ZF手册指出在这里可能会有所帮助,但我发现文档非常稀疏。
如何在不调用远程服务器的情况下编写测试?最佳做法?如果要求Zend_Controller_Response_HttpTestCase
,那我该如何使用它?这是我想要在其中使用的典型测试方法:
class FooControllerTest extends ControllerTestCase {
public function testMyNiftyFooPage() {
$this->dispatch('/foo'); // a page that calls a remote API
$this->assertQueryContentContains('h1', 'Hello World');
// other assertions, etc.
}
}
答案 0 :(得分:0)
封装处理类中远程调用的逻辑,让控制器接受它的实例(这称为依赖注入)和mock用于测试。
这就是通常进行测试的方法 - 如果您正在编写火箭发射器软件,那么每次测试运行时都不应该发射核弹。