当我尝试使用phpunit时,我在phpStorm的命令行中一直收到此错误。谁可以给我解释一下这个?我是phpunit的新手。
C:\ XAMPP \ PHP \ phpunit.bat
警告:缺少PHPUnit_TextUI_TestRunner :: doRun()的参数3, 在第176行和第C:\ xampp \ php \ pear \ PHPUnit \ TextUI \ Command.php中调用 定义于 C:\ XAMPP \ htdocs中\教程\ php_unit_testing \供应商\ PHPUnit的\ PHPUnit的的\ src \文本界面\ TestRunner.php 在第148行
Sebastian Bergmann和贡献者的PHPUnit 5.3-dev。
致命错误:找不到类'controllers \ core \ web \ Pages' C:\ XAMPP \ htdocs中\教程\ php_unit_testing \测试\程序\控制器\核心\网络\ PagesTest.php 在第6行
处理在22:23:20完成退出代码255。执行时间:186 毫秒。
这是我的xml文件中的代码:
<?xml version='1.0' encoding='UTF-8' ?>
<phpunit bootstrap="./vendor/autoload.php"
color="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailures="false"
syntaxCheck="false"
>
<testsuites>
<testsuite name="Tutorial Unit Tests">
<directory>./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
这是来自pages.php的代码:
<?php
namespace controllers\core\web;
class Pages{
public function rendor(){
return 'Hello World';
}
public function return_true(){
return true;
}
public function return_array(){
return array('Hello', 'world', 'This', 'is', 'an', 'array');
}
}
?>
这是PagesTest.php的代码:
<?php
class PagesTest extends PHPUnit_Framework_TestCase
{
public function testRenderReturnsHelloWorld(){
$pages = new \controllers\core\web\Pages();
$expected = 'Hello Word';
$this->assertEquals($expected, $pages->rendor());
}
}
?>
答案 0 :(得分:1)
看起来你并没有在图书馆中加载。通常,您必须创建备用autoload.php
文件并将其包含在phpunit bootsrap值中。所以它会是这样的:
<phpunit bootstrap="./autoload.php" ...
#./auotload.php
$loader = require_once __DIR__ . '/vendor/autoload.php';
$loader.add('directory_of_code', 'path/to/that/directory');
return $loader;
答案 1 :(得分:0)
经过大量研究后,我找到了缺失课程的解决方案。我添加git log
以要求我使用命名空间存储类的页面。这对我有用,我希望它适用于遇到此问题的任何人。在我制作的自动加载器文件中,我现在有了这段代码
require_once 'app/controllers/core/web/pages.php';
我从来没有找到关于
的部分警告:缺少PHPUnit_TextUI_TestRunner :: doRun()的参数3,在第176行的C:\ xampp \ php \ pear \ PHPUnit \ TextUI \ Command.php中调用,并在C:\ xampp \ htdocs \ tutorials \ php_unit_testing中定义第148行\ vendor \ phpunit \ phpunit \ src \ TextUI \ TestRunner.php
如果有人想出来,请告诉我。