是否有任何好的教程可以解释如何在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类。我应该为界面和模拟类创建新文件吗?或者也许可以使用mockery库(我在stackOverflow上看到一些)?顺便提一下,我在哪里可以阅读关于嘲弄课程的内容;我无法在Laravel文档中找到它。
我提前道歉,因为有点困惑。
答案 0 :(得分:3)
Laravel的测试文档是有限的,因为它扩展了PHPUnit,已经有足够的文档:
https://phpunit.de/manual/current/en/test-doubles.html
在最基本的情况下,你会做这样的事情:
$stub = $this->createMock(B::class);
$a = new A($stub);
您可以阅读上面链接的文档,了解PHPUnit提供的所有花哨功能。