PHPUnit5.7.0で配列操作のテストをしてみる。
参考にしたドキュメントのテストコード。
use PHPUnit\Framework\TestCase; class StackTest extends Testcase { public function testPushAndPop() { $stack = []; $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack) - 1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } }
テストを実行する。結果、すべてOKになった。
> phpunit test.php
PHPUnit 5.7.0 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 225 ms, Memory: 2.25MB
OK (1 test, 5 assertions)
試しに、配列の数が1つであることを確認している箇所を2にしてから実行する。
すると、当然だが、エラーが出力された。
2を予想しているところ、1だったこと。
テストコードの13行目で発生したこと。
3つ目のAssertでエラーが起きたこと。
などがわかる。
There was 1 failure:
1) StackTest::testPushAndPop
Failed asserting that 1 matches expected 2.
test.php:13
FAILURES!
Tests: 1, Assertions: 3, Failures: 1.
コメント