【问题标题】:phpunit- How to mock object with mokery in test casephpunit-如何在测试用例中用 mokery 模拟对象
【发布时间】:2019-08-04 21:42:54
【问题描述】:

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

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

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

【问题讨论】:

  • 你在使用 Laravel 吗?
  • 不,如果是Laravel就简单了

标签: php testing mocking phpunit


【解决方案1】:

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

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

否则你可以这样做:

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

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

【讨论】:

  • 我不使用 laravel
  • 第二个例子没有使用 Laravel。
猜你喜欢
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2014-08-23
  • 2012-12-18
  • 1970-01-01
  • 2017-02-27
相关资源
最近更新 更多