如何运行所有 PHPUnit 测试?

2022-08-30 10:35:36

我有名为Script.php的脚本,并在Tests/Script.php中对其进行测试,但是当我运行phpunit Tests时,它不会在我的测试文件中执行任何测试。如何使用 phpunit 运行所有测试?

PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, 最新的 Ubuntu

输出:

$ phpunit Tests
PHPUnit 3.3.17 by Sebastian Bergmann.
Time: 0 seconds
OK (0 tests, 0 assertions)

这是我的脚本和测试文件:

脚本.php

<?php  
function returnsTrue() {  
    return TRUE;  
}  
?>

测试/脚本.php

<?php  
require_once 'PHPUnit/Framework.php';  
require_once 'Script.php'  

class TestingOne extends PHPUnit_Framework_TestCase  
{

    public function testTrue()
    {
        $this->assertEquals(TRUE, returnsTrue());
    }

    public function testFalse()
    {
        $this->assertEquals(FALSE, returnsTrue());
    }
}

class TestingTwo extends PHPUnit_Framework_TestCase  
{

    public function testTrue()  
    {  
        $this->assertEquals(TRUE, returnsTrue());  
    }

    public function testFalse()
    {
        $this->assertEquals(FALSE, returnsTrue());
    }
}  
?>

答案 1

Php 测试的文件名必须以 Test 结尾.php

phpunit mydir将运行在目录 mydir 中命名的所有脚本xxxxTest.php

(看起来 phpunit 文档中没有描述它)


答案 2

我创建了以下phpunit.xml现在至少我可以在我的根目录中做phpunit --configuration phpunit.xml来运行位于Tests/

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         syntaxCheck="false">
  <testsuites>
    <testsuite name="Tests">
      <directory suffix=".php">Tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

推荐