phpunitを使ってテストをするための環境を整えました
今回はPHPフレームワークは使ってないです
composerが使える前提で、composerで入れます
その前にphpのバージョンを確認
$ php -v
PHP 5.5.31-1+deb.sury.org~trusty+1 (cli) (built: Jan 7 2016 15:26:28)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
5.5なので、対応したバージョンのphpunit 4を入れます
$ composer init
で適当に設定しておいて
$ composer require –dev “phpunit/phpunit:4.*”
これでphpunitがvendorディレクトリに用意されました
実行するには
$ vender/bin/phpunit
で動きます
実際にサンプルのテストを用意してみます
testsディレクトリにstackTestというサンプルを用意するとして
$ mkdir tests
$ vim tests/stackTest.php
<?php
class StackTest extends PHPUnit_Framework_TestCase
{
public function testPushAndPop()
{
$stack = array();
$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));
}
}
コードは、PHPUnit マニュアル – 第2章 PHPUnit 用のテストの書き方の転載です
実行する際は、requireを自動でしてくれるautoload.phpを読み込んで実行します
$ ./vendor/bin/phpunit –bootstrap ./vendor/autoload.php tests
PHPUnit 4.8.21 by Sebastian Bergmann and contributors.
.
Time: 102 ms, Memory: 3.75Mb
OK (1 test, 5 assertions)
テストの準備が出来ました