Zend Framework:如何在远程API调用的情况下进行单元测试

时间:2011-08-16 06:14:59

标签: zend-framework integration-testing

我正在使用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.
    }
}

1 个答案:

答案 0 :(得分:0)

封装处理类中远程调用的逻辑,让控制器接受它的实例(这称为依赖注入)和mock用于测试。

这就是通常进行测试的方法 - 如果您正在编写火箭发射器软件,那么每次测试运行时都不应该发射核弹。