如何让 PHPUnit 运行所有的测试?
Posted
技术标签:
【中文标题】如何让 PHPUnit 运行所有的测试?【英文标题】:How to make PHPUnit run all the tests? 【发布时间】:2020-04-28 16:32:53 【问题描述】:作为一名测试人员,我希望通过使用 phpUnit 来测试我的代码的安全性和可靠性。
目前,PHPUnit 仅通过了 11 项测试中的第一项。然后它放弃剩余的测试,没有任何消息。
>>> vendor/bin/phpunit [path to my test]
<<< .
[No message from PHPUnit after the first '.'.]
我尝试过的:
删除 PHPUnit,清除我的缓存 (composer clearcache
),然后重新安装 PHPUnit (composer install
)
确保每个测试文档字符串中都包含@test
使用 \test[a-zA-Z]\ 作为函数名
使用 phpunit --filter [未运行的测试名称]
将 PHPUnit 从 v8.4.3 更改为 v8.2 (composer update
)
将dd("Hi")
添加到第一个、第二个和第三个测试中。 (它显示在 #1 和 #2,但不是 #3)
我读过的:
(搜索词相同但问题不同的东西)this、this、this。 我读过的最有帮助的是this。 还有其他页面。My test suite.
My phpunit.xml file
我的规格:
Laravel 6.5.6 PHPUnit 8.4.3如何让 PHPUnit 运行所有 11 个测试?
感谢任何帮助。
【问题讨论】:
【参考方案1】:为什么测试没有运行?我不知道。
但我确实知道我是如何让它们再次运行的:
删除整个工作目录我的团队使用 Docker。关于 Docker 的一些东西会跟踪原始目录。即使您将其删除并在其中放置一个具有相同名称的新目录,它似乎也链接到实际文件夹而不是位置。因此,将具有相同名称的新文件夹放在同一个位置是行不通的。所以我需要重启 Docker 的东西。
停止所有 Docker 进程:docker kill $(docker ps -q)
删除所有容器:docker rm $(docker ps -a -q)
把原来的东西备份起来。这些步骤在 Laravel 应用程序中是标准的。
从 BitBucket/GitHub/etc 克隆目录。 在目录下,运行docker-compose build && docker-compose up -d
composer install
npm i
php artisan migrate
php artisan db:seed
【讨论】:
以上是关于如何让 PHPUnit 运行所有的测试?的主要内容,如果未能解决你的问题,请参考以下文章
我无法使用 phpunit 进行测试:无法打开文件“autoload.php”