我有一个存在于控制器中的函数。我想通过编写一个带有断言的小单元测试来正确匹配函数的输出,从而确保逻辑是合理的。
我已经创建了一个新的单元文件夹来存放控制器的所有小单元测试。正确的术语可能是功能测试?
这是我必须容纳函数的所有断言的当前设置。我的问题是,在这个外部控制器中存在的所有功能中,我如何将该功能引入并对其中的逻辑执行测试?
<?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(...));
}
}