読者です 読者をやめる 読者になる 読者になる

PHPUnitで簡単なテストをする2 バグ?

前回PHPUnitの簡単なテストを試してみました。

PHPUnitのdataProvider機能を使ったりしてたら気になる状態になった

テストコード

<?php

require_once ('vendor/autoload.php');

use PHPUnit\Framework\TestCase;

class testHoge extends TestCase
{
    /**
     * @dataProvider testdataProvider
     */
    public function testunittest($a, $expected)
    {
        $this->assertEquals($expected, -1);
    }

    public function testdataProvider()
    {
        return [
            [0, 0],
        ];
    }
}
?>

dataProviderを使ったコードでこれを動かすと

[vagrant@localhost html]$ vendor/bin/phpunit tests/testHoge.php
PHPUnit 5.5.7 by Sebastian Bergmann and contributors.

F.                                                                  2 / 2 (100%)

Time: 241 ms, Memory: 4.00MB

There was 1 failure:

1) testHoge::testunittest with data set #0 (0, 0)
Failed asserting that -1 matches expected 0.

/var/www/html/tests/hogeTest.php:14

FAILURES!
Tests: 2, Assertions: 1, Failures: 1.

テストは1つしかやってないはずなのに2つチェックが入ってる

1つ目は失敗してるのであってるのだが2つ目のはどこをチェックしてるんだろ

しかも成功しちゃってるし

んー  なんだろこれ