我有调用同一类中另一个函数的函数。我正在尝试测试是否在我的单元测试中调用了该方法,但是找不到模拟它的方法。
这是方法调用的示例
public function follow($user_id, $followsfeed, $target_user_id)
{
$news_feeds = $this->getNewsFeeds($user_id);
}
我想模拟方法getNewsFeed并断言在执行follow时调用它。
实现此目标的最佳方法是什么。因为我无法锻炼如何创建内部模拟对象。
答案 0 :(得分:3)
您可以使用partial mocks,例如在测试类中,可以执行以下操作:
public function test_follow()
{
$mock = Mockery::mock('App\Services\SomeService')->makePartial();
$mock->shouldReceive('getNewsFeeds')
->once()
->with("id1","id2")
->andReturn($someNews);
$mock-> follow("id1","id2");
}
您也可以使用PHPUnit test-doubles
希望获得帮助