phpunit"没有执行任何测试"

时间:2018-04-27 22:58:46

标签: php phpunit

我无法通过PHPUnit中的测试来解决问题。这是我的代码,并且有一些错误。这是年度百分比率计算(https://en.wikipedia.org/wiki/Annual_percentage_rate)。

在cmd中:

    C:\Users\Shambler\Downloads\test-taeg-senior\test-taeg>phpunit
PHP Warning:  Module 'oci8' already loaded in Unknown on line 0

Warning: Module 'oci8' already loaded in Unknown on line 0
PHPUnit 3.7.21 by Sebastian Bergmann.

Configuration read from C:\Users\Shambler\Downloads\test-taeg-senior\test-taeg\phpunit.xml



Time: 74 ms, Memory: 2.00MB

No tests executed!

C:\Users\Shambler\Downloads\test-taeg-senior\test-taeg>

不要考虑Oracle模块,这是另一个故事。我跑了" phpunit"在" composer install"。

之后

项目/测试/测试general.php:

    <?php

use MotorK\{ Rate, Tae, Taeg };

class TestTaeg extends \PHPUnit\Framework\TestCase {

    /**
     * Example from http://www.calcolatoremutui.it/tan-e-taeg/
     */
    public function test_tae() {
        $obj = Tae::init( 5, 12 );

        $this->assertEquals( 5.116, round( $obj->calculate(), 3 ) );

        $this->expectOutputString( '5.116 %' );
        echo $obj;
    }

    /**
     * Example from http://www.calcolatoremutui.it/tan-e-taeg/
     */
    public function test_rate() {
        $obj = Rate::init( 100000, 5, 12, 20 );

        $this->assertEquals( 659.96, round( $obj->calculate(), 2 ) );

        $this->expectOutputString( '659.96 €' );
        echo $obj;
    }

    /**
     * Example from http://www.calcolatoremutui.it/tan-e-taeg/
     */
    public function test_taeg() {
        $obj = Taeg::init( 99000, 5, 661.96, 12, 20 );

        $this->assertEquals( 5.281, round( $obj->calculate(), 3 ) );

        $this->expectOutputString( '5.281 %' );
        echo $obj;
    }
}

项目/ phpunit.xml

<phpunit
bootstrap="tests/bootstrap.php"
backupGlobals="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
>
<testsuite name="Internal tests">
    <directory prefix="test-" suffix=".php">./tests/</directory>
</testsuite>
<groups>
    <include>
        <group>default</group>
    </include>
</groups>
<filter>
    <whitelist>
        <directory suffix=".php">./includes/</directory>
    </whitelist>
</filter>

我无法解决,多次尝试:(

2 个答案:

答案 0 :(得分:1)

测试用例类的后缀(不是前缀)&#39;名称必须为Test。并且源代码文件的名称必须与类名匹配。

在您的示例中,您可能希望在TaegTest(而不是TestTaeg)中声明TaegTest.php(而不是test-general.php)。

另请注意,您使用的PHPUnit版本已达到多年前的生命周期。阅读this以开始使用最新版本的PHPUnit。

答案 1 :(得分:0)

您需要创建包含文件夹,然后您需要创建MotorK文件夹,然后您应该创建类。您应该具有以下目录结构:

  

测试taeg /包括/ MotorK

test-taeg
+
|
+-include
|
++ --MotorK
|
+++ ---Rate.php
|
+++ ---Tae.php
|
+++ ---Taeg.php

MotorK应该是您的namespace