3

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

  • 我已经设置了 Zend 框架。我是否也需要安装 PHPUnit 还是在框架内全部排序?
  • Zend Framework 已在/tests/application/controllers/ControllerNameTest.php. 我假设我在这里创建我的测试。
  • 如何运行测试?我确信这真的很简单,因为我读过的文档假设我应该知道如何做到这一点。我是从命令行执行的吗?如果是这样,怎么做?

任何帮助表示赞赏。

谢谢

4

3 回答 3

4

You need to install PHPUnit, too. Zend Framework and PHPUnit are two different things. You find the installation instructions for PHPUnit here: https://github.com/sebastianbergmann/phpunit.

Basically, You can put the tests where you want. But the tests-Folder is a good place for them.

After you have installed phpunit, you can call your unit tests from the command line. Just enter the folder where you put your tests on command line and type "phpunit", this will run all tests in the folder. You can also use the --filter option to run a single test.

于 2012-08-20T11:17:17.583 回答
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(){}

我希望这会有所帮助。

于 2012-09-24T11:31:49.683 回答
0

我在这里找到了使用 PHPUnit 和 Zend Framework 设置所有内容的绝佳指南:

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

于 2012-08-20T12:02:16.573 回答