我通过PHAR(https://phpunit.de/getting-started/phpunit-8.html)安装了PHPUnit,并将phpunit添加到Windows 10中的系统变量中。
现在,我正在尝试在CLI上使用phpunit运行一个测试用例,但是PHPUnit显示No tests executed!
。关键是我有5种测试方法。
我要测试的班级是这样:
class Calculator
{
/**
* @assert (0, 0) == 0
* @assert (0, 1) == 1
* @assert (1, 0) == 1
* @assert (1, 1) == 2
* @assert (1, 2) == 4
*/
public function add($a, $b)
{
return $a + $b;
}
}
发现于:https://netbeans.org/kb/docs/php/phpunit.html
我的测试用例是这样:
require_once 'PHPUnit/Autoload.php';
use PHPUnit\Framework\TestSuite;
class CalculatorTest extends TestSuite {
//class CalculatorTest extends PHPUnit_Framework_TestCase {
/**
* @var Calculator
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp(): void {
$this->object = new Calculator;
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown(): void {
}
/**
* Generated from @assert (0, 0) == 0.
*
* @covers Calculator::add
*/
public function testAdd(): void {
$this->assertEquals(0, $this->object->add(0, 0));
}
/**
* Generated from @assert (0, 1) == 1.
*
* @covers Calculator::add
*/
public function testAdd2(): void {
$this->assertEquals(1, $this->object->add(0, 1));
}
/**
* Generated from @assert (1, 0) == 1.
*
* @covers Calculator::add
*/
public function testAdd3(): void {
$this->assertEquals(1, $this->object->add(1, 0));
}
/**
* Generated from @assert (1, 1) == 2.
*
* @covers Calculator::add
*/
public function testAdd4(): void {
$this->assertEquals(2, $this->object->add(1, 1));
}
/**
* Generated from @assert (1, 2) == 4.
*
* @covers Calculator::add
*/
public function testAdd5(): void {
$this->assertEquals(4, $this->object->add(1, 2));
}
}
当我在CLI中键入phpunit -v
时,我看到以下内容:
C:\wamp64\www\test>phpunit -v
PHPUnit 8.0.6 by Sebastian Bergmann and contributors.
Usage:
phpunit [options] UnitTest [UnitTest.php]
phpunit [options] <directory>
Code Coverage Options:
--coverage-clover <file> Generate code coverage report in Clover XML format
--coverage-crap4j <file> Generate code coverage report in Crap4J XML format
--coverage-html <dir> Generate code coverage report in HTML format
--coverage-php <file> Export PHP_CodeCoverage object to file
--coverage-text=<file> Generate code coverage report in text format [default: standard output]
--coverage-xml <dir> Generate code coverage report in PHPUnit XML format
--whitelist <dir> Whitelist <dir> for code coverage analysis
--disable-coverage-ignore Disable annotations for ignoring code coverage
--no-coverage Ignore code coverage configuration
--dump-xdebug-filter <file> Generate script to set Xdebug code coverage filter
我的系统:
Windows 10
WAMP
php 7.2.14
PHPUnit 8.0.6
Netbeans version 8.2 (Netbeans PHPUnit plugin installed through Tools > Plugins. Version: 0.26.2)
Installation method: PHP Archive (PHAR)
有人可以为我指出解决此问题的正确思路吗?
为什么PHPUnit告诉我没有执行测试?
我做错了什么?
答案 0 :(得分:2)
很久以前就不再支持@assert
注释。并且PHPUnit/Autoload.php
也于多年前被删除。
TL; DR您想阅读官方的Getting Started指南(并且如果提供了不支持PHPUnit的最新版本的“ IDE”的供应商,则不要提供过时的信息。)