在基本的“保存/提交”模型测试用例中需要哪些断言/测试?

时间:2011-10-12 12:38:15

标签: unit-testing cakephp assertions cakephp-2.0

任何人都可以帮我解决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?
}

1 个答案:

答案 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