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

如何在PHPUnit中执行所有测试?

狄玉书
2023-03-14

我正在尝试从我的测试套件中运行所有测试,但是当我运行命令PHPUnit时,PHPUnit没有找到测试。我在phpunit中配置testsuite。xml。

phpunit。xml

<?xml version="1.0" encoding="UTF-8" ?>
<phpunit backupGlobals="true"
         backupStaticAttributes="false"
         bootstrap="./bootstrap.php"
         cacheTokens="false"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         forceCoversAnnotation="false"
         mapTestClassNameToCoveredClassName="false"
         processIsolation="false"
         stopOnError="false"
         stopOnFailure="false"
         stopOnIncomplete="false"
         stopOnSkipped="false"
         strict="false"
         verbose="true">
    <testsuites>
        <testsuite name="All Tests">
            <directory suffix="*.php">.</directory>
        </testsuite>
    </testsuites>
</phpunit>

独自创立php

<?php

error_reporting(E_ALL | E_STRICT);
date_default_timezone_set('America/Sao_Paulo');
require_once(dirname(__FILE__) . '/WebTestCase.php');

WebTestCase。php

<?php

define('TEST_BASE_URL', 'http://localhost:8080');

class WebTestCase extends PHPUnit_Extensions_SeleniumTestCase
{

    protected function setUp() {
        $this->setBrowser('*firefox');
        $this->setBrowserUrl(TEST_BASE_URL);
        $this->setHost('localhost');
        $this->setTimeOut(30);
    }
}

TestPage.php

class TestPage extends WebTestCase
{

    public function testTitle()
    {
        $this->open("/");
        $title = $this->getTitle();
        $this->assertEquals('Home', $title);
    }
}

如果我通过文件测试运行phpunit,则为phpunittestpage。php,可以。

共有1个答案

史旺
2023-03-14

正如您在文档中看到的:

注意:如果将PHPUnit命令行测试运行程序指向一个目录,它将查找*test。php文件。

使用这种格式的测试类是一种很好的做法。但是,如果这不是您的选项,您可以通过创建phpunit来更改此行为。xml文件并正确设置:

<?xml version="1.0" encoding="utf-8" ?>
<phpunit>
<testsuite name='Name your suite'>
    <directory suffix=".php">/path/to/files</directory>
</testsuite>
</phpunit>

请注意,我删除了*。理论上,phpunit应该遍历目录并使用执行所有文件。php在文件末尾。

我认为如果您删除*并设置正确的路径,它应该可以工作。

 类似资料:
  • 作为一名测试人员,我希望通过使用PHPUnit来测试代码的安全性和可靠性。 目前,PHPUnit只通过了11项测试中的第一项。然后它放弃其余的测试,没有消息。 我尝试过的: 删除PHPUnit,清除我的缓存(),并重新安装PHPUnit() 确保每个测试文档字符串中都有 使用\test[a-zA-Z]\作为函数名 使用phpunit--filter[未运行的测试的名称] 将PHPUnit从v8.4

  • 我无法用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

  • 嗨,我正在尝试使用JUNIT 5作为框架实现集成测试,我们只想在执行所有测试之前启动所有过程一次,并在执行所有测试时停止所有过程。 我发现没有简单的方法可以做到这一点,因为我们有很多测试类,而且BeforeAll和AfterAll方法对每个测试类都有效 我发现,如果我可以注册我自己的自定义听众,我也许可以做到这一点,但不知何故,它不起作用。 知道我们如何注册我们自己的监听器/任何其他方法来检测是否

  • 我读过laravel 5.5留档为unittest。据说我们只需要执行phpUnit{如https://laravel.com/docs/5.5/testing}然后我尝试了这个:如何使用phpUnit运行单个测试方法? 但据说“无法打开文件”。然后我尝试了phpunitexampletest,但仍然无法打开该文件。那么这里怎么了。。。?提前谢谢

  • 执行testng xml时,它在套件中只执行1个测试 基本测试- 登录测试-