【问题标题】:Laravel: how to mock a classLaravel:如何模拟一个类
【发布时间】:2017-04-24 01:14:48
【问题描述】:

有没有什么好的教程可以解释如何在 Laravel 中模拟一个类?

我有点困惑,因为 Laravel 文档 (5.2) 只讨论了模拟外观、工作和事件(最后两个我从来没有说实话,工作我不知道它是什么)。

这基本上是我要测试的场景(简化为示例):

?php 
class A
{
  protected $B;
  public function __construct($classB)
    {
        $this->B = $classB;
    }
}
class B implements myInterface
{
   public function methodToTest();
}

我想模拟我发送给 A 类构造函数的 B 类。我应该为接口和模拟类制作新文件吗?或者也许利用嘲笑库(我在stackOverflow上看到了一些)?顺便说一句,我在哪里可以读到嘲讽课;我在 Laravel 文档中找不到它。

我有点困惑,我提前道歉。

【问题讨论】:

    标签: laravel unit-testing mocking


    【解决方案1】:

    Laravel 的测试文档是有限的,因为它扩展了 PHPUnit,已经有足够的文档:

    https://phpunit.de/manual/current/en/test-doubles.html

    在最基本的情况下,您将执行以下操作:

    $stub = $this->createMock(B::class);
    $a = new A($stub);
    

    您可以阅读上面链接的文档,了解 PHPUnit 提供的所有精美功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多