I’m working on my first ZF project and am a bit stuck. I have a controller named ‘WebServiceController’ and I have a unit test for the WebServiceController but when I run the test it doesn’t assert the controller properly. My test code is:
public function testIndexAction() {
$params = array('action' => 'index', 'controller' => 'WebService', 'module' => 'default');
$url = $this->url($this->urlizeOptions($params));
$this->dispatch($url);
// assertions
$this->assertModule($params['module']);
$this->assertController($params['controller']);
$this->assertAction($params['action']);
$this->assertQueryContentContains(
'div#view-content p',
'View script for controller <b>' . $params['controller'] . '</b> and script/action name <b>' . $params['action'] . '</b>'
);
}
The error I get is:
1) WebServiceControllerTest::testIndexAction
Failed asserting last controller used <“Web-Service”> was “WebService”
It looks like its trying to assert the controller was ‘Web-Service’ instead of ‘WebService’. Can anyone point me in the right direction?
Thanks in advance.
Ziad
p.s. I am using ZF 1.11.5
In Zend Framework a camel case name for controller is rewritten in the URL :
WebServicein the class name becomesweb-servicein the URL.This is a normal behavior, see http://framework.zend.com/manual/1.12/en/zend.controller.basics.html :