我尝试用示例测试运行 phpunit,但它没有执行。它显示未执行测试。
我的默认文件包含 ExampleTest.php 和 TestCase.php
C:\xampp\htdocs mber_fuel>phpunit PHP 警告:“继续”定位 switch 相当于“break”。您是要使用“继续 2”吗?在 C:\xampp\php\pear\PHPUnit\TextUI\Command.php 第 277 行
警告:“continue”瞄准开关等同于“break”。你是否 意思是使用“继续2”?在 C:\xampp\php\pear\PHPUnit\TextUI\Command.php 第 277 行 PHP 警告: “continue”定位开关等同于“break”。你的意思是 使用“继续2”?在 C:\xampp\php\pear\PHPUnit\TextUI\Command.php 上 285号线
警告:“continue”瞄准开关等同于“break”。你是否 意思是使用“继续2”?在 C:\xampp\php\pear\PHPUnit\TextUI\Command.php 第 285 行 Sebastian Bergmann 的 PHPUnit 3.7.21。
从 C:\xampp\htdocs mber_fuel\phpunit.xml 读取配置
时间:90 毫秒,内存:8.00MB
没有执行测试!
看起来您正在 Windows 机器上运行 PHPUnit 的全局实例。我有同样的问题,解决方案非常简单:
例如,如果我在项目的根目录中,我会运行
vendor\bin\phpunit
然后您的测试应该运行并打印结果。
我假设你是这样运行的?
./vendor/bin/phpunit
要么像这样用引号括起来:
"./vendor/bin/phpunit"
或者使用 powershell 运行它,只需在 cmd 中输入 powershell 然后以常规方式运行它:
./vendor/bin/phpunit
Laravel 使用
php artisan test .\tests\Feature\ExampleTest.php
用于测试,而不是 phpunit。 https://laravel.com/docs/10.x/testing。我刚遇到同样的情况,试图在新工具上使用旧方法 :)
您看到的警告消息与您使用的 PHPUnit 版本有关,暂时可以忽略。
关于没有执行测试的问题,可能有以下几个原因:
测试文件不在正确的目录中:PHPUnit 希望测试文件位于项目根目录中名为 tests 的目录中。确保您的测试文件在此目录中。
测试文件不遵循正确的命名约定:PHPUnit 希望测试文件以它们正在测试的类命名,并在末尾附加 Test。例如,如果您正在测试一个名为 MyClass 的类,则您的测试文件应命名为 MyClassTest.php。
测试类未扩展 PHPUnit 的 TestCase 类:为了让 PHPUnit 将您的类识别为测试类,它必须扩展 PHPUnit\Framework\TestCase 类。
测试方法没有正确的命名约定:PHPUnit 期望测试方法以单词 test 开头,后跟一个描述性的方法名称。
测试类中没有定义测试方法:确保你的测试类至少包含一个测试方法。
仔细检查这些因素以确保您的测试能够正确执行。如果问题仍然存在,请尝试使用 --debug 选项运行 PHPUnit 以获取有关问题所在的更多信息。