我想用composer安装PHPUnit并遵循本教程:https://jtreminio.com/2013/03/unit-testing-tutorial-introduction-to-phpunit/
我添加了
{
"require-dev": {
"phpunit/phpunit": "3.7.14"
},
"autoload": {
psr-0": {
"phpUnitTutorial": ""
}
}
}
到文件composer.json
。输入./vendor/bin/phpunit
向我显示已安装phpunit。
这是我的文件夹结构:
composer.json
composer.phar
phpUnitTutorial/
vendor/
我在phpunit.xml
文件夹中创建了一个phpUnitTutorial
文件,内容为
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true">
<testsuites>
<testsuite name="Application Test Suite">
<directory>./phpUnitTutorial/Test/</directory>
</testsuite>
</testsuites>
</phpunit>
此外,我在phpUnitTutorial/Test/StupidTest.php
创建了一个内容为
<?php
namespace phpUnitTutorial\Test;
class StupidTest extends \PHPUnit_Framework_TestCase
{
public function testTrueIsTrue(){
$foo = ture;
$this->assertTrue($foo);
}
}
在本教程中,建议执行以下操作:
从项目根目录运行PHPUnit:$ vendor / bin / phpunit
使用以下屏幕截图:
如果我在$ vendor/bin/phpunit
文件夹中执行phpUnitTutorial
,则会收到错误
bash:vendor / bin / phpunit:没有这样的文件或目录
这对我有意义,因为文件夹vendor
与文件夹phpUnitTutorial
处于同一级别。如果我执行$ ../vendor/bin/phpunit
我得
它表示没有执行测试,也没有确认我的配置文件已被读取。为什么不执行测试?
答案 0 :(得分:0)
首先,phpunit.xml
文件应位于根文件夹/bin/
中,然后命令$ vendor/bin/phpunit
将起作用,测试将实际执行。
其次,您需要更改文件StupidTest.php
行
class StupidTest extends \PHPUnit_Framework_TestCase
到
class StupidTest extends \PHPUnit\Framework\TestCase