phpunit-如何在测试用例中使用Mokery模拟对象

时间:2019-03-14 04:35:11

标签: php testing mocking phpunit phpunit-testing

我有一个Contact班。此类调用select类的DB方法。看起来像这样:

public class Contact
{
    $db= new DB;
    $data=$db->select();
    return (['data'=>$data']);
}

在用Mockery of phpunit测试的案例中,如何模拟select方法的数据?

1 个答案:

答案 0 :(得分:1)

如果您在此处使用的DB是Laravel的DB外观,则可以使用:

    DB::shouldReceive('select')
     ->andReturn([]);

否则,您可以这样做:

    $dbMock = Mockery::mock('overload:DB');
    $dbMock->shouldReceive('select')->andReturn([]);

然后将use Mockery;放在测试类的顶部。