【问题标题】:How to make PHPUnit run all the tests?如何让 PHPUnit 运行所有的测试?
【发布时间】: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)

我读过的:

  • (搜索词相同但问题不同的东西)thisthisthis
  • 我读过的最有帮助的是this
  • 还有其他页面。

My test suite.

My phpunit.xml file

我的规格:

  • Laravel 6.5.6
  • PHPUnit 8.4.3

如何让 PHPUnit 运行所有 11 个测试?

感谢任何帮助。

【问题讨论】:

    标签: laravel phpunit


    【解决方案1】:

    为什么测试没有运行?我不知道。

    但我确实知道我是如何让它们再次运行的:

    • 删除整个工作目录

    我的团队使用 Docker。关于 Docker 的一些东西会跟踪原始目录。即使您将其删除并在其中放置一个具有相同名称的新目录,它似乎也链接到实际文件夹而不是位置。因此,将具有相同名称的新文件夹放在同一个位置是行不通的。所以我需要重启 Docker 的东西。

    • 停止所有 Docker 进程:docker kill $(docker ps -q)
    • 删除所有容器:docker rm $(docker ps -a -q)

    把原来的东西备份起来。这些步骤在 Laravel 应用程序中是标准的。

    • 从 BitBucket/GitHub/etc 克隆目录。
    • 在目录下,运行docker-compose build &amp;&amp; docker-compose up -d
    • composer install
    • npm i
    • php artisan migrate
    • php artisan db:seed

    【讨论】:

      猜你喜欢
      • 2010-11-27
      • 2011-05-02
      • 2015-03-20
      • 2017-02-14
      • 2018-10-10
      • 1970-01-01
      • 2013-10-12
      • 2014-05-31
      • 2019-12-03
      相关资源
      最近更新 更多