如何在控制器的依赖类中模拟方法

时间:2016-08-31 12:50:41

标签: php unit-testing laravel-4 mocking phpunit

我想模仿getReviews的{​​{1}}方法,以便我可以测试它是否在CommentModel方法中调用。

这是我的方法:

ApiReviewCommentsController

这是我的测试:

class ApiReviewCommentsController extends ApiController
{
    private $commentsModel;

    public function __construct(CommentsModel $commentsModel)
    {
        $this->commentsModel = $commentsModel;
        $this->commentsModel->getReviewComment();

    }
}

这是我的错误

  

方法名称的期望失败等于    当被调用1次时。

预计方法被调用1次,实际上被称为0次。

请问为什么没有调用该方法?

1 个答案:

答案 0 :(得分:0)

你正在倒退。

您需要首先定义模拟的期望值,然后将其传递给控制器​​,以便调用它并满足期望值。

你的控制器的构造函数首先调用你的模拟,然后定义一个永远不会发生的调用期望。