当前位置:  开发笔记 > 编程语言 > 正文

如何将PHPUnit与Zend Framework一起使用?

如何解决《如何将PHPUnit与ZendFramework一起使用?》经验,为你挑选了2个好方法。

我想知道如何用Zend_Test编写PHPUnit测试,一般用PHP编写.



1> Stefan Gehri..:

我正在使用Zend_Test来完全测试所有控制器.设置起来非常简单,因为您只需要设置引导程序文件(引导文件本身不应该调度前端控制器!).我的基本测试用例类如下所示:

abstract class Controller_TestCase extends Zend_Test_PHPUnit_ControllerTestCase
{
    protected function setUp()
    {
        $this->bootstrap=array($this, 'appBootstrap');
        Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_NonPersistent());
        parent::setUp();
    }

    protected function tearDown()
    {
        Zend_Auth::getInstance()->clearIdentity();
    }

    protected function appBootstrap()
    {
        Application::setup();
    }
}

在那里Application::setup();确实这也创下了实际应用中的所有设置了任务.然后一个简单的测试看起来像这样:

class Controller_IndexControllerTest extends Controller_TestCase
{
    public function testShowist()
    {
        $this->dispatch('/');
        $this->assertController('index');
        $this->assertAction('list');
        $this->assertQueryContentContains('ul li a', 'Test String');
    }
}

就这样...


我将Controller_TestCase放在我的tests/Controller目录中 - 这是所有控制器测试用例所在的目录.通常我在运行单元测试时不使用自动加载但是如果我进行控制器测试,我使用Zend_Loader :: registerAutoload()来使用自动加载,因为它非常......
...很难跟踪MVC运行的依赖性.您只需确保遵循命名约定并且Zend_Loader将找到您的文件(设置include_path).要运行我的测试,我使用PHPUnit的CLI,因为我不喜欢Eclipse PDT中的PHPUnit集成.它的...
...切换窗口以启动测试实际上没有问题 - 特别是如果您遵循PHPUnit命名约定(与Zend Framework的约定相同)并使用TestSuites对测试进行分组.也许你应该看看例如Zend Framework本身使用的测试结构.

2> isuldor..:

他们在Zend Developer Zone上有一个" 单元测试艺术简介 ",它涵盖了PHPUnit.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有