Prev Next

第3章 PHPUnit のインストール

PHPUnit をインストールするには、 PEAR インストーラ を使用します。このインストーラは PEAR の根幹をなすものであり、 PHP のパッケージを配布する仕組みを提供しています。また、バージョン 4.3.0 以降のすべての PHP に同梱されています。

注記

PHPUnit 3.4 は PHP 5.1.4 以降のバージョンで動作しますが、PHP 5.3.3 以降を使うことを強く推奨します。

Xdebug 2.0.5 以降があれば、コードカバレッジ情報を収集して処理することができますが、 Xdebug 2.1.0 以降を使うことを強く推奨します。

PHPUnit の配布に使用する PEAR チャネル (pear.phpunit.de) を、ローカルの PEAR 環境に登録する必要があります。 さらに、PHPUnit が依存しているコンポーネントの中には Symfony Components PEAR channel (pear.symfony-project.com) に登録されているものもあります。

pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com

これを行う必要があるのは最初の一度だけです。これで、PEAR インストーラは PHPUnit チャネルからパッケージをインストールできるようになります。

pear install phpunit/PHPUnit

インストールすると、PHPUnit のソースファイルがローカルの PEAR ディレクトリに格納されます。場所は、通常は /usr/lib/php/PHPUnit です。

PHPUnit がサポートしているのは PEAR インストーラを使用する方法のみですが、 PHPUnit を手動でインストールすることも可能です。そのためには、 以下の手順に従ってください。

  1. http://pear.phpunit.de/get/ からアーカイブをダウンロードし、それを php.ini 設定ファイルの include_path で指定したディレクトリに展開します。

  2. phpunit スクリプトを準備します。

    1. phpunit.php スクリプトの名前を phpunit に変更します。

    2. その中の @php_bin@ という文字列を、 PHP コマンドラインインタプリタへのパス (通常は /usr/bin/php) に変更します。

    3. それをパスの通ったディレクトリにコピーし、 実行可能属性を付与します (chmod +x phpunit)。

  3. PHPUnit/Util/PHP.php スクリプトを準備します。

    1. その中の @php_bin@ という文字列を、 PHP コマンドラインインタプリタへのパス (通常は /usr/bin/php) に変更します。

Prev Next
1. 自動テスト
2. PHPUnit の目標
3. PHPUnit のインストール
4. PHPUnit 用のテストの書き方
テストの依存性
データプロバイダ
例外のテスト
PHP のエラーのテスト
5. コマンドラインのテストランナー
6. Fixtures
tearDown() よりも setUp()
バリエーション
Fixture の共有
グローバルな状態
7. テストの構成
ファイルシステムを用いたテストスイートの構成
XML 設定ファイルを用いたテストスイートの構成
テストケースクラスの使用法
8. テストケースの拡張
出力内容のテスト
9. データベースのテスト
データセット
Flat XML データセット
XML データセット
CSV Data Set
データセットの交換
操作
データベースのテストのコツ
10. 不完全なテスト・テストの省略
不完全なテスト
テストの省略
11. テストダブル
スタブ
モックオブジェクト
ウェブサービスのスタブおよびモック
ファイルシステムのモック
12. テストの進め方
開発中のテスト
デバッグ中のテスト
13. テスト駆動開発
銀行口座の例
14. 振舞駆動開発
ボウリングゲームの例
15. コードカバレッジ解析
カバーするメソッドの指定
コードブロックの無視
ファイルのインクルードや除外
16. テストのその他の使用法
アジャイルな文書作成
複数チームでのテスト
17. 雛形ジェネレータ
テストケースクラスの雛形の作成
テストケースクラスからのクラスの雛形の作成
18. PHPUnit と Selenium
Selenium RC
PHPUnit_Extensions_SeleniumTestCase
19. ログ出力
テスト結果 (XML)
テスト結果 (TAP)
テスト結果 (JSON)
コードカバレッジ (XML)
20. ビルドの自動化
Apache Ant
Apache Maven
Phing
21. 継続的インテグレーション
Atlassian Bamboo
CruiseControl
phpUnderControl
22. PHPUnit API
概要
PHPUnit_Framework_Assert
assertArrayHasKey()
assertClassHasAttribute()
assertClassHasStaticAttribute()
assertContains()
assertContainsOnly()
assertEqualXMLStructure()
assertEquals()
assertFalse()
assertFileEquals()
assertFileExists()
assertGreaterThan()
assertGreaterThanOrEqual()
assertLessThan()
assertLessThanOrEqual()
assertNull()
assertObjectHasAttribute()
assertRegExp()
assertSame()
assertSelectCount()
assertSelectEquals()
assertSelectRegExp()
assertStringEndsWith()
assertStringEqualsFile()
assertStringStartsWith()
assertTag()
assertThat()
assertTrue()
assertType()
assertXmlFileEqualsXmlFile()
assertXmlStringEqualsXmlFile()
assertXmlStringEqualsXmlString()
PHPUnit_Framework_Test
PHPUnit_Framework_TestCase
PHPUnit_Framework_TestSuite
PHPUnit_Framework_TestResult
パッケージの構成
23. PHPUnit の拡張
PHPUnit_Framework_TestCase のサブクラスの作成
アサートクラスの作成
PHPUnit_Extensions_TestDecorator のサブクラスの作成
PHPUnit_Framework_Test の実装
PHPUnit_Framework_TestResult のサブクラスの作成
PHPUnit_Framework_TestListener の実装
新しいテストランナーの作成
A. アサーション
B. アノテーション
@assert
@backupGlobals
@backupStaticAttributes
@covers
@dataProvider
@depends
@expectedException
@group
@outputBuffering
@runTestsInSeparateProcesses
@runInSeparateProcess
@test
@testdox
@ticket
C. XML 設定ファイル
PHPUnit
テストスイート
グループ
コードカバレッジ対象のファイルの追加や除外
ログ出力
テストリスナー
PHP INI 項目や定数、グローバル変数の設定
Selenium RC の設定ブラウザ
D. 目次
E. 参考文献
F. 著作権