在Symfony应用程序中,您可以使用PHPUnit进行集成测试。要将服务注入到测试中,您可以按照以下步骤进行操作:
App\Tests\MyServiceTest
的测试类。@var
注释来声明该属性的类型。然后,您可以在测试方法中使用self::$container->get()
方法来获取该服务的实例。例如:namespace App\Tests;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class MyServiceTest extends WebTestCase
{
/**
* @var \App\Service\MyService
*/
private $myService;
protected function setUp(): void
{
parent::setUp();
$this->myService = self::$container->get(\App\Service\MyService::class);
}
public function testSomething()
{
// 使用 $this->myService 进行测试
}
}
php bin/phpunit
。Symfony会自动为您设置测试环境,并在每个测试方法运行之前创建一个新的内核。这样,您就可以将服务注入到PHPUnit集成测试中了。请注意,上述示例中的\App\Service\MyService
是一个示例服务,您需要将其替换为您自己的服务类。
关于PHPUnit和Symfony集成测试的更多信息,您可以参考Symfony官方文档中的以下链接:
领取专属 10元无门槛券
手把手带您无忧上云