当前位置: 首页 > 知识库问答 >
问题:

PHPUnit测试用例未执行

罗学真
2023-03-14

我刚刚通过composer安装了PHPUnit,试图通过跳上测试驱动开发的潮流,成为一名优秀的后端开发人员。然后我运行命令vendor/bin/phpunit,可以看到phpunit安装正确。

以下是我的文件结构:

-fileserver
  src
  tests/
  vendor
  composer.json
  composer.lock
  index.php
  phpunit.xml

在phpunit内部。xml文件我有以下内容:

<?xml version="1.0" encoding="UTF-8"?>
  <phpunit colors="true">
    <testsuites>
      <testsuite name="File Server Test Suite">
        <directory>./fileserver/tests/</directory>
      </testsuite>
    </testsuites>
  </phpunit>

如果我运行vendor/bin/phpunit,我可以看到我的配置文件已加载,但没有运行任何测试。

我基本上在tests文件夹和扩展的PHPUnit\u框架\u测试用例中创建了一个简单的测试文件。我的所有测试都使用psr-4名称空间phpunitest。

composer.json

//Other part excluded
"autoload": {
  "psr-4": { 
    "FileServer\\": "src" ,
    "PhpUnitTest\\": "tests"
  }

样本测试类

namespace PhpUnitTest;

 class StupidTest extends \PHPUnit_Framework_TestCase
 {
   public function testTrueIsTrue()
   {
     $foo = true;
     $this->assertTrue($foo);
   }
 }

但以下是我得到的输出:

PS C:\wamp\www\fileserver> vendor/bin/phpunit
PHPUnit 3.7.14 by Sebastian Bergmann.

Configuration read from C:\wamp\www\fileserver\phpunit.xml



  Time: 3.53 seconds, Memory: 1.25Mb

←[30;43m←[2KNo tests executed!
←[0m←[2KPS C:\wamp\www\fileserver>

我错过了什么?为什么我的测试案例没有执行?提前感谢你。

共有1个答案

钱华晖
2023-03-14

您没有将composer生成的自动加载程序添加到phpunit。xml文件。在phpunit标记上设置bootstrap属性。测试套件的路径也不正确。路径应该是相对于phpunit的。xmlfile,因此应该在路径中释放fileserver/

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./vendor/autoload.php" colors="true">
    <testsuites>
        <testsuite name="File Server Test Suite">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

那应该可以了

 类似资料:
  • 我无法用PHPUnit解决测试问题。这是我的密码,有点问题。这是年度百分比计算(https://en.wikipedia.org/wiki/Annual_percentage_rate ). 在cmd中: 不要考虑Oracle模块,这是另一回事。我在“composer安装”之后运行了“phpunit”。 项目/测试/测试概述。php: 项目/phpunit.xml 我解决不了,试了很多次:(

  • 问题内容: 我在NetBeans 8.2中的一个新的干净Maven项目中创建了此测试: 如果我运行测试,日志显示 我的pom.xml包含以下依赖项: 是什么导致JUnit 5忽略测试方法? 更新:我添加了surefire插件,这是完整的pom.xml: 输出更改为: 并且surefire-reports文件夹包含两个“ .dump”文件。第一个内容: 问题答案: 确保将您的配置正确地设置为: 而且

  • 为了提高我的代码质量,我决定尝试学习如何使用单元测试来测试我的代码,而不是使用最好的测试解决方案。 我决定使用composer为个人库安装PHPUnit,它允许我实现常见的数据库功能。起初,我没有PHPUnit的配置文件,当我运行以下命令时: 请注意,这是一个终端命令,因此我没有包括扩展。上面提到的GeneralStringFunctionsTest实际上是一个文件。 输出是我所期望的: 时间:3

  • 在试图用PHPUnit设置Eclipse作为单元测试库时,我陷入了试图运行一个简单测试用例的困境。作为参考,我按照本教程使用PHPUnit/Xdebug/Makegood来设置Eclipse,唯一偏离给出的指导方针是为PHPUnit/Makegood设置以下配置文件: 现在,问题的根源在于,我似乎无法使用Makegood从Eclipse运行PHPUnit测试。我编写的唯一测试(位于名为test.p

  • 我正在尝试从我的测试套件中运行所有测试,但是当我运行命令时,PHPUnit没有找到测试。我在phpunit中配置testsuite。xml。 phpunit。xml 独自创立php WebTestCase。php TestPage.php 如果我通过文件测试运行phpunit,则为,可以。

  • 我正在用开发一个API,我目前正在尝试用实现一些单元测试。当我通过命令行运行测试时,我一直遇到一个错误: 我的composer.json是这样的: 我的测试类是这样的: 如果我注释掉整个第二个测试,留下use语句,第一个测试将毫无问题地通过。我认为这可能与测试文件的位置有关,因此我将其移动到classes/app目录,在那里我有其他具有类似导入的类,并且我看到了相同的结果,因此我认为这与文件所在的