Zia*_*iad 3 unit-testing zend-framework
我正在研究我的第一个ZF项目并且有点卡住了.我有一个名为'WebServiceController'的控制器,我有一个WebServiceController的单元测试,但是当我运行测试时,它没有正确地断言控制器.我的测试代码是:
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>'
);
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
1)WebServiceControllerTest :: testIndexAction失败断言上次使用的控制器<"Web-Service">是"WebService"
看起来它试图断言控制器是'Web-Service'而不是'WebService'.谁能指出我正确的方向?
提前致谢.
齐亚德
ps我使用的是ZF 1.11.5
Mat*_*oli 11
在Zend Framework中,控制器的驼峰案例名称在URL中重写:
WebService在类名中变为web-serviceURL.
这是正常行为,请参阅http://framework.zend.com/manual/1.12/en/zend.controller.basics.html:
由于人们在键入链接时保持区分大小写是众所周知的不一致,因此Zend Framework实际上将路径信息规范化为小写.当然,这会影响您对控制器和操作的命名方式......或者在链接中引用它们.如果您希望控制器类或操作方法名称具有多个MixedCasedWords或camelCasedWords,则需要将URL上的这些单词与" - "或"."分开.(尽管您可以配置使用的字符).举个例子,如果你要在FooBarController :: bazBatAction()中进行操作,你可以在url上将它引用为/ foo-bar/baz-bat或/foo.bar/baz.bat.
| 归档时间: |
|
| 查看次数: |
2449 次 |
| 最近记录: |