在Zend Framework中设置单元测试

时间:2012-08-20 10:22:08

标签: php zend-framework phpunit

我刚开始在zend框架中进行单元测试。我已经阅读了很多文档ZF和PhpUnit,但有一些我无法弄清楚的事情。

  • 我设置了Zend Framework。我是否也需要安装PHPUnit或者是否在框架内进行了整理?
  • Zend Framework为/tests/application/controllers/ControllerNameTest.php下的单元测试创​​建了文件。我假设我在这里创建我的测试。
  • 如何进行测试?我确信这很简单,因为我读过的文档假设我应该知道如何做到这一点。我是否可以从命令行执行此操作?如果是这样,怎么样?

任何帮助表示感谢。

由于

3 个答案:

答案 0 :(得分:4)

您也需要安装PHPUnit。 Zend Framework和PHPUnit是两回事。您可以在此处找到PHPUnit的安装说明:https://github.com/sebastianbergmann/phpunit

基本上,您可以将测试放在您想要的位置。但是测试文件夹对他们来说是个好地方。

安装完phpunit后,可以从命令行调用单元测试。只需输入您在命令行上放置测试的文件夹并输入“phpunit”,这将运行该文件夹中的所有测试。您还可以使用--filter选项运行单个测试。

答案 1 :(得分:3)

您需要安装phpunit。我认为最简单的方法是使用PEAR(http://www.phpunit.de/manual/current/en/installation.html#installation.pear)。

对于测试控制器,您可以复制在ControllerNameTest.php文件中找到的相同代码。对于测试模型,您可以创建一个PHPUnit测试用例。

<?php 

class YourApp_Model_YourModel  extends PHPUnit_Framework_TestCase
{
    public function setUp()
    {
        $application = new Zend_Application(
            APPLICATION_ENV,
            APPLICATION_PATH . '/configs/application.ini'
        );

        $application->bootstrap('config')
                             ->bootstrap('defaultModuleAutoloader')
                             ->bootstrap('autoloader');

            // You might need to add few more bootstrap, depends on your needs
    }

    public function testSomeMethod(){}

我希望有所帮助。

答案 2 :(得分:0)

我已经找到了一个很棒的指南,可以在这里使用PHPUnit和Zend Framework设置所有内容:

http://grover.open2space.com/content/unit-testing-zend-framework-111-and-phpunit