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

问题描述 投票:-1回答:1

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

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

如何使用phpunit的Mockery在我的测试用例中模拟select方法的数据?

php testing mocking phpunit phpunit-testing
1个回答
1
投票

如果您在这里使用的DB是Laravel的数据库外观,您可以使用:

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

否则你可以这样做:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.