在Magento 2的PHPUnit测试中进行依赖注入,可以通过以下步骤实现:
以下是一个示例代码,演示了如何在Magento 2的PHPUnit测试中进行依赖注入:
use Magento\Framework\TestFramework\Unit\TestCase;
class MyTest extends TestCase
{
protected function setUp(): void
{
parent::setUp();
// 设置测试环境
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
}
public function testMyFunctionality()
{
// 创建被测试类的Mock对象
$myClassMock = $this->getMockBuilder(MyClass::class)
->disableOriginalConstructor()
->getMock();
// 设置依赖注入
$dependencyMock = $this->getMockBuilder(MyDependency::class)
->disableOriginalConstructor()
->getMock();
$myClassMock->expects($this->once())
->method('setDependency')
->with($dependencyMock);
// 执行被测试类的方法
$myClassMock->myMethod();
}
}
在上面的示例中,我们使用PHPUnit的getMock()方法创建了被测试类的Mock对象和依赖项的Mock对象。然后,我们使用expects()方法和with()方法设置了依赖注入,并验证了被测试类的方法是否按预期执行。
领取专属 10元无门槛券
手把手带您无忧上云