0
我很難嘗試單元測試(phpUnit)ZF2中的一個模塊。我想要做的是確定在將GET參數傳遞給控制器時,頁面上的某個元素是否存在類名。單元測試時無法傳遞GET參數Zend Framework 2
這一切都從瀏覽器工作,但我無法獲得GET參數在嘗試單元測試時被識別。
這是我的單元測試代碼:
<?php
namespace ComponentManager\Controller;
use Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase;
class ComponentManagerControllerTest extends AbstractHttpControllerTestCase
{
public function setUp()
{
$this->setApplicationConfig(
include 'config/application.config.php'
);
parent::setUp();
}
public function testAdminComponentCodeCanBeAccessed()
{
$this->dispatch('/ComponentManager/requestComponent/product/details-1/details-1', 'GET', array('admin' => 1));
// I also tried: $this->dispatch('/ComponentManager/requestComponent/product/details-1/details-1?admin=1');
$this->assertResponseStatusCode(200);
$this->assertMatchedRouteName('ComponentManager/path');
$this->assertControllerName('ComponentManager\Controller\ComponentManager');
$this->assertControllerClass('ComponentManagerController');
$this->assertActionName('requestComponent');
$this->assertModuleName('ComponentManager');
// test will fail here
$this->assertQuery('div.config-active-wrapper');
}
}
的「div.config活性-包裝」選擇工作正常,當我刪除了管理員參數存在支票在GET但是當我重新添加它,GET參數根本不被識別。有任何想法嗎?
無論如何,您不應該在控制器中使用超全局變量,您應該使用'$ this-> params() - > fromQuery('admin');'來訪問變量,這可能會解決您的測試問題。 –
這就是我打算做的事情,一旦我有一些ACL;) –