任何人都可以帮我解决CakePHP 2.0中基本保存方法测试用例中需要断言的问题吗?
我有产品,用户和新闻模型,我希望在submit
模型中为News
方法编写一个测试用例,并且有很多方法/事情要包括在内我只是想知道实际需要什么,什么不需要。我为所有型号设置了基本灯具。
我正在测试的方法实际上是这样的:
class News extends AppModel {
public submit($productId, $userId, $newsData) {
// Logic which checks for user and products existence, saves and returns submitted row
}
}
测试用例
public function testSubmit() {
// Save News
$newsData = array(
'News' => array(
'title' => 'Here is the title of the news',
'body' => 'Here is the news body',
'source' => 'News came from here'
)
);
$news = $this->News->submit('product-1', 'user-1', $newsData);
// Now what?
}
答案 0 :(得分:1)
简单断言$ news是一个数组,对象,数组等于你期望的数组...无论你的方法返回什么,你甚至应该在实现方法(测试驱动开发)之前知道它并且能够使用一个或多个phpunit断言方法断言结果。
就像简单的$ this-> assertTrue($ news);检查所有断言的手册。 http://www.phpunit.de/manual/current/en/
另请参阅CakePHP核心测试,以了解如何进行测试。
或者查看一些开源插件exmaples https://github.com/CakeDC/tags/blob/2.0/Test/Case/Model/TaggedTest.php 要么 https://github.com/CakeDC/users/blob/2.0/Test/Case/Model/UserTest.php