在过去的几天里,我读了很多关于依赖注入的内容。 现在,因为我正在尝试升级我的phpunit技能,我正在考虑如何实现这个DI。在我的单元测试中。
说我有两个对象:
class Event{
}
class Shift{
public function __construct(Event $e)
{
(...)
}
}
这是我如何理解DI。 现在我想为我的移位构造函数编写一个测试:
class ShiftTest extends
\ModelTestCase
{
public function testCanCreateShift()
{
$e = new \Js\Entity\Event();
$this->assertInstanceOf('JS\Entity\Shift', new \JS\Entity\Shift($e));
}
}
但是现在我不想在这里定义一个完整的事件对象。那么在phpUnit中创建事件对象的建议方法是什么?
答案 0 :(得分:3)
这就是模拟,存根。等用于。您创建一个SUT(正在测试的系统),并模拟所有依赖项。 如果没有DI,你将无法做到这一点。