我正在尝试使用PHPUnit和Symfony 4测试我的RoomRepository
。我使用composer
安装了symfony/phpunit-bridge
。我创建了一个简单的实体,称为Room
,它有一个id
和name
属性,以及一个repository
方法来根据id
获取Room
。
public function get(int $id): ?Room
{
/** @var Room $room */
$room = $this->findOneBy(['id' => $id]);
return $room;
}
我的测试非常简单,如您所见:
public function testGet(): void
{
/** @var RoomRepository $repository */
$repository = $this->em->getRepository(Room::class);
$room = $repository->get(1);
$this->assertCount(1, $room);
}
我是测试方面的新手,不确定操作方式是否正确。我遵循了Symfony文档。
因此,当我执行以下命令时:
./vendor/bin/simple-phpunit
我遇到了这个错误:
我相信这是一个常见的错误,很容易修复...Doctrine\DBAL\Exception\ConnectionException: 驱动程序中发生异常:SQLSTATE[HY000] [2002] 没有那个文件或目录
此外,我编写了其他简单的断言,它们工作得非常好。 我不认为这与PHPUnit配置有关。
以下是我的环境信息:
- PHP 7.1
- Symfony4.0.5
- PHPUnit 5.7.27
- Docker和Laradock(容器:mysql,apache2,workspace)