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

PHPUnit-使用配置文件时“未执行任何测试”

郑宇
2023-03-14

为了提高我的代码质量,我决定尝试学习如何使用单元测试来测试我的代码,而不是使用最好的测试解决方案。

我决定使用composer为个人库安装PHPUnit,它允许我实现常见的数据库功能。起初,我没有PHPUnit的配置文件,当我运行以下命令时:

$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest

请注意,这是一个终端命令,因此我没有包括。php扩展。上面提到的GeneralStringFunctionsTest实际上是一个GeneralStringFunctionsTest。php文件。

输出是我所期望的:

时间:31毫秒,内存:2.75Mb

OK(1个测试,1个断言)

然后我尝试使用配置文件自动加载测试套件,而不是每次都手动输入文件。我在根目录中创建了一个名为phpunit.xml的文件,并在文件中输入了以下内容:http://pastebin.com/0j0L4WBD:

<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
    <testsuites>
        <testsuite name="Tests">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

现在,当我运行命令时:

phpunit

我得到以下输出:

PHPUnit 4.5。0由塞巴斯蒂安·伯格曼和贡献者撰写。

从/Users/muyiwa/Projects/DatabaseHelper/phpunit读取配置。xml

时间:16毫秒,内存:1.50Mb

没有执行测试!

如果有帮助,我的目录结构如下:
src-顶级目录(包含所有源代码)
tests-顶级目录(包含所有测试,结构与我的src文件夹相同)
供应商-编写器第三方文件

我还有composer json和lock文件,以及作为文件的顶层phpunit xml文件。

  • 更改phpunit中的目录。xml测试/通用字符串函数
  • 更改phpunit中的目录。xml/测试
  • 移动phpunit。将xml文件添加到测试目录,然后将目录更改为/ 而不是测试
  • 将后缀属性添加到phpunit中的目录标记。xml将“Tests”指定为显式后缀

共有3个答案

苏君昊
2023-03-14

在windows上,在终端上使用以下命令

.\vendor\bin\phpunit

如果命令

phpunit

返回“未执行任何测试!”

而在Mac上

./vendor/bin/phpunit

希望有帮助。

杜彦君
2023-03-14

您的XML文件现在就可以了。但是,您必须确保tests/文件夹中的PHP文件命名如下:

测试/测试。php

文件名必须以“Test.php”结尾。这就是PHPUnit在目录中寻找的内容。

此外,每个测试方法的名称必须以“test”或@test注释开头:

public function testFooBar()
{
    // Your test code
}

或:

 /**
  * @test
  */
 public function fooBarTest() {
     // test code here
 }

希望有帮助!

东郭阳德
2023-03-14

值得一提的是(迟到了),我最近在为一个简单的网站制作一个新的Laravel 5.1项目时遇到了这个问题。我试图调试它,当我尝试时感到困惑:

php artisan make:test homeTest

(它有一个默认测试,该测试仅断言true为true)

看到了输出

No tests executed!

我最终遇到的问题与我的PHP安装有关——“phpunit”是全局注册的,配置方式不同,而Laravel安装附带的phpunit配置正确,运行完美。

因此,修复程序正在运行供应商配置的phpunit(从与app/和tests/相同的根目录):

./vendor/bin/phpunit

希望这能帮助别人!

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

  • 我刚刚通过composer安装了PHPUnit,试图通过跳上测试驱动开发的潮流,成为一名优秀的后端开发人员。然后我运行命令vendor/bin/phpunit,可以看到phpunit安装正确。 以下是我的文件结构: 在phpunit内部。xml文件我有以下内容: 如果我运行vendor/bin/phpunit,我可以看到我的配置文件已加载,但没有运行任何测试。 我基本上在tests文件夹和扩展的P

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

  • 这是我的文件: 我已经尝试根据Github中的这个线程添加 自从我看到关于的消息后,我将此添加到我的中(通过各种google搜索): 如果有人对我如何调试这种情况有一些想法的话。

  • 我无法使用maven运行spring boot应用程序的测试。我看过很多关于这个的帖子,他们的大多数解决方案是: 将junit版本与maven surefire插件或 确保junit版本不是由预定义的 我的项目不使用父级,也不使用专家-sure-fire插件。否则,根据pom文件,我没有看到任何明显的冲突。我确实看到了 ,但这是向后兼容性的纯复古依赖性的一部分。 是什么导致了这种情况? 砰的一声

  • 我最近将phpMyAdmin版本更新为。在此之后,我有一些错误,我设法修复,但一个仍然存在。我得到一个信息: 配置文件现在需要一个秘密密码短语(blowfish_secret)。 我检查了文件,发现有这个部分 所以我检查了文件并对其进行了编辑。现在看起来是这样的。 我确保所有的文件都在组中,并且至少有至少 我甚至在中添加了的行,以确保它在那里。 但是错误仍然存在。因此,由于某种原因,phpMyAd