首页 > 解决方案 > 查找运行测试的类时出错,即使我在 IDE 中使用了自动测试创建功能

问题描述

我正在使用 PHPUnit,PHPStorm。

现在,我正在测试的实际文件位于root->foo->config

接下来,如果我选择我要测试的文件,然后右键单击 new phptest,我会看到以下屏幕:

PHPStorm 测试功能启动

所以到目前为止一切看起来都很好。一切都是自动预先输入的。

所以我的 ip_require.php 进入root->tests->foo

我的测试文件包含以下内容:

<?php

namespace config;

use foo\ip_request;
use PHPUnit\Framework\TestCase;

class ip_requestTest extends TestCase
{

    public function testGetRealIpAddr()
    {
        $local = new ip_request();
        $this->assertEquals('127.0.0.1', $local->getRealIpAddr());
    }

}

在我的 phpunit.xml 中,我有:

<?xml version="1.0" encoding="UTF-8"?>
<target name="test">
<phpunit
        bootstrap="tests/bootstrap.php"
        colors="true"
> <!-- changed from vendor/autoload.php-->
    <testsuites>
        <testsuite name = "Website">
            <directory>./tests/</directory>
        </testsuite>
    </testsuites>
    <php>
        <ini name="error_reporting" value="-1" />
        <env name="KERNEL_CLASS" value="App\Kernel" />
        <env name="APP_ENV" value="test" />
        <env name="APP_DEBUG" value="1" />
        <env name="SHELL_VERBOSITY" value="-1" />
    </php>
</phpunit>
</target>

我的 bootstrap.php 里面只有

ini_set('display_errors', true);
error_reporting(E_ALL);
include $_SERVER['DOCUMENT_ROOT'].'\foo\ip_requestTest.php';

我在 bootstrap.php 预览中得到错误:

bootstrap.php 错误画面

我悬停在上面的所有东西看起来都指向了课堂上的正确方向。

如果我单击并关注测试文件中的课程,它会将我带到正确的位置

我的 PHPUnit 安装到最新版本,在命令行中验证,在 composer.json 中

"require": {
    "phpunit/phpunit": "9.3",
    "ext-mysqli": "*"
  },

有任何想法吗?我已经用完了链接来尝试...

标签: phpphpunitphpstorm

解决方案


我找到了一个修复程序,至少可以通过 bootstrap.php 页面。

include __DIR__ . '/../foo/config/ip_request.php';

然后我的终端中仍然有类似的错误消息,但最终让我的测试工作的是我确保 composer.json 具有相同版本的 PHPUnit。

一旦他们在相同的地方工作!


推荐阅读