我想通过测试"make: User "制作的User类来学习如何制作phpunit但我面临着这个问题时,扩展"KernelTestCase"然后运行测试:
LogicException:您必须将KERNEL_CLASS环境变量设置为phpunit.xml/phpunit.xml.dist中内核的完全限定类名称或覆盖"ApptestsEntity
UsersTest::createKernel()"或"App 实体 UsersTest测试:getKernelClass()";方法。
这是我的测试,我想测试一个实体:
我试图解决它,因为2天与我的朋友谷歌,但我没有找到任何解决方案。你能帮我吗?谢谢大家!
我也遇到了同样的问题。
解决方案是更新您的./phpunit.xml.dist
文件以设置KERNEL_CLASS环境变量:
[...]
<php>
<ini name="error_reporting" value="-1" />
<server name="APP_ENV" value="test" force="true" />
<server name="SHELL_VERBOSITY" value="-1" />
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
<server name="SYMFONY_PHPUNIT_VERSION" value="7.5" />
<server name="KERNEL_CLASS" value="AppKernel" /> <--- SET KERNEL_CLASS AT THIS LINE
</php>
[...]
在我的例子中,tests/bootstrap.php
文件与phpunit-bridge配方之一不同步。这个配方没有执行,因为我更新了Symfony 3.4(没有flex)到Symfony 4.4。
使用composer recipes:install symfony/phpunit-bridge --force -v
安装配方后,以下文件被覆盖:
.env.test
phpunit.xml.dist
tests/bootstrap.php
现在,.env.test
被加载,KERNEL_CLASS
env变量,在那里定义的,被正确地尊重。