测试 cakeError() 被抛出
我正在 CakePHP 1.3 中使用单元测试。我的应用程序使用一个非常简单的ErrorHandler,正如书中所讲的。如果出现问题,我的一个模型会调用 $this->cakeError('myError')
。
现在我想要一个针对我的模型的测试用例,用于检查是否正确调用了错误处理程序(给出了错误的数据)。
SimpleTest 提供 expectError()
但这似乎针对标准 PHP 错误。 CakePHP 的错误处理是另一回事,不过这些错误不会被expectError() 捕获。如果在测试中调用 cakeError(),则会呈现错误消息,而不是测试结果。
如何测试预期的 cakeErrors?
I am using Unit Testing in CakePHP 1.3. My app uses a very simple ErrorHandler as taught by the book. One of my models calls $this->cakeError('myError')
if something is wrong.
Now I want a test case for my model, that checks if - wrong data given - the error handler is properly called.
SimpleTest offers expectError()
but this seems to be made for standard PHP errors. CakePHP's error handling is a different thing, though, these errors are not caught by expectError(). If cakeError() is called in a test, the error message is rendered, rather than the test results.
How can I test for expected cakeErrors?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能可以使用部分模拟并模拟 CakeError 方法。然后您可以使用
expectOnce
断言cakeError
方法被调用。有关示例和进一步说明,请参阅文档。You could probably use a partial mock and mock the
cakeError
method. Then you can useexpectOnce
to assert thecakeError
method is called. See the documentation for an example and further explanations.