PHPUnit
1. PHPUnit のインストール
要件
PHP Archive (PHAR)
PHPUnit の PHAR リリースの検証
Composer
グローバルなインストール
Webserver
2. PHPUnit 用のテストの書き方
テストの依存性
データプロバイダ
例外のテスト
PHP のエラーのテスト
出力内容のテスト
エラー出力
エッジケース
3. コマンドラインのテストランナー
コマンドラインオプション
TestDox
4. フィクスチャ
tearDown() よりも setUp()
バリエーション
フィクスチャの共有
グローバルな状態
5. テストの構成
ファイルシステムを用いたテストスイートの構成
XML 設定ファイルを用いたテストスイートの構成
6. リスクを伴うテスト
無意味なテスト
意図せぬうちにカバーされているコード
テストの実行時の出力
テストの実行時のタイムアウト
グローバルな状態の変更
7. 不完全なテスト・テストの省略
不完全なテスト
テストの省略
@requires によるテストのスキップ
8. テストダブル
スタブ
モックオブジェクト
トレイトと抽象クラスのモック
ウェブサービスのスタブおよびモック
9. コードカバレッジ解析
コードカバレッジの指標
コードカバレッジレポートに含めるファイルの指定
コードブロックの無視
対象とするコードパーツの指定
エッジケース
10. PHPUnit の拡張
PHPUnit\Framework\TestCase のサブクラスの作成
カスタムアサーションの作成
Test Runner の拡張
エクステンションの設定
Appendix
1. アサーション
アサーションメソッドはstaticで使うべきか、それとも非staticで使うべきか
assertArrayHasKey()
assertClassHasAttribute()
assertClassHasStaticAttribute()
assertContains()
assertStringContainsString()
assertStringContainsStringIgnoringCase()
assertContainsOnly()
assertContainsOnlyInstancesOf()
assertCount()
assertDirectoryExists()
assertDirectoryIsReadable()
assertDirectoryIsWritable()
assertEmpty()
assertEquals()
assertEqualsCanonicalizing()
assertEqualsIgnoringCase()
assertEqualsWithDelta()
assertObjectEquals()
assertFalse()
assertFileEquals()
assertFileExists()
assertFileIsReadable()
assertFileIsWritable()
assertGreaterThan()
assertGreaterThanOrEqual()
assertInfinite()
assertInstanceOf()
assertIsArray()
assertIsBool()
assertIsCallable()
assertIsFloat()
assertIsInt()
assertIsIterable()
assertIsNumeric()
assertIsObject()
assertIsResource()
assertIsScalar()
assertIsString()
assertIsReadable()
assertIsWritable()
assertJsonFileEqualsJsonFile()
assertJsonStringEqualsJsonFile()
assertJsonStringEqualsJsonString()
assertLessThan()
assertLessThanOrEqual()
assertNan()
assertNull()
assertObjectHasAttribute()
assertMatchesRegularExpression()
assertStringMatchesFormat()
assertStringMatchesFormatFile()
assertSame()
assertStringEndsWith()
assertStringEqualsFile()
assertStringStartsWith()
assertThat()
assertTrue()
assertXmlFileEqualsXmlFile()
assertXmlStringEqualsXmlFile()
assertXmlStringEqualsXmlString()
2. アノテーション
@author
@after
@afterClass
@backupGlobals
@backupStaticAttributes
@before
@beforeClass
@codeCoverageIgnore*
@covers
@coversDefaultClass
@coversNothing
@dataProvider
@depends
@doesNotPerformAssertions
@group
@large
@medium
@preserveGlobalState
@requires
@runTestsInSeparateProcesses
@runInSeparateProcess
@small
@test
@testdox
@testWith
@ticket
@uses
3. XML 設定ファイル
PHPUnit
テストスイート
グループ
コードカバレッジ対象のファイルのホワイトリスト
ログ出力
テストリスナー
TestRunner エクステンションの組み込み
PHP INI 項目や定数、グローバル変数の設定
4. 参考文献
5. 著作権
PHPUnit
Docs
»
4. 参考文献
Edit on GitHub
4. 参考文献
[Meszaros2007] Gerard Meszaros.
xUnit Test Patterns: Refactoring Test Code
.