在Zend框架中设置单元测试


Setting up unit testing in the Zend Framework

我刚刚开始在zend框架中进行单元测试。我读了很多ZF和PhpUnit的文档,但有一些事情我想不通。

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

感谢您的帮助。

感谢

您也需要安装PHPUnit。Zend框架和PHPUnit是两个不同的东西。您可以在此处找到PHPUnit的安装说明:https://github.com/sebastianbergmann/phpunit.

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

安装phpunit后,可以从命令行调用单元测试。只需在命令行中输入测试所在的文件夹,然后键入"phpunit",即可运行该文件夹中的所有测试。您还可以使用--filter选项来运行单个测试。

您需要安装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(){}

我希望这能有所帮助。

我找到了一个很好的指南,可以在这里用PHPUnit和Zend Framework设置一切:

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