为控制器Symfony2/PHP中的函数生成单个单元测试


Generating a single unit test for a function inside of a controller Symfony2/PHP

我有一个存在于控制器中的函数。我想通过编写一个带有断言的小单元测试来正确匹配函数的输出,从而确保逻辑是合理的。

我已经创建了一个新的单元文件夹来存放控制器的所有小单元测试。正确的术语可能是功能测试?

这是我必须容纳函数的所有断言的当前设置。我的问题是,在这个外部控制器中存在的所有功能中,我如何将该功能引入并对其中的逻辑执行测试?

<?php

namespace Acme'SimplewanBundle'Tests'Unit;
use Doctrine'ORM'Tools'SchemaTool;
class ConfigControllerUnitTest extends 'PHPUnit_Framework_TestCase {

    public function testValidIpRange() {


    }
}

首先,方法应该被移动到一个独立于控制器的服务中。在任何情况下,无需进行上述更改,就可以像测试其他PHP类一样测试控制器类:

namespace Acme'SimplewanBundle'Tests'Unit;
use Doctrine'ORM'Tools'SchemaTool;
class ConfigControllerUnitTest extends 'PHPUnit_Framework_TestCase {
    public function testValidIpRange()
    {
        $controller = new 'AppBundle'Controller'ConfigController();
        $this->assertTrue($controller->isValidIpRange(...));
    }
}