web-dev-qa-db-ja.com

PHP WordPressのユニットテスト?

WordPressがどのように書かれていて、それがデータベースとどのように相互作用しているか、そしてそれがどのようにOOP指向ではないかを考えて、テーマをユニットテストする方法はありますか? WordPressと対話するフレームワーク(テーマフレームワークではない)を単体テストする方法はありますか。つまり、例えば、ループを処理し、ウィジェットを処理するための単体テストを作成することはできますか?

もしそうなら、誰かに何か例がありますか?私は単体テストの書き方を知っていますが、私はテーマのためにそれを書き込もうとしたことがありません。

考えですか?

8
TheWebs

PHPUnitやその他のテストプラットフォームを使用して、テーマ/プラグイン用の独自の単体テストを書くことを妨げるものは何もありません。

WordPressに関しては、公式のユニットテストがあります。

単体テストを組み込んだWP-CLIを含む、ここにある単体テストを自動化することができる buildスクリプト がいくつかありますが、あなた自身のコードを書く必要があります。

私はまた、scibuのTwitter rant :)を通じて今日このプラグインを見つけました。
http://wordpress.org/extend/plugins/razor/
リポジトリにはさらにいくつかあります。
http://wordpress.org/extend/plugins/tags/phpunit

また、これをチェックしてください WordPressの単体テストとunit-test.svn.wordpress.orgのチュートリアルは?

5
Wyck

私は JigoshopEasy Digital Downloads のTravis-CIを使ったPHPunitテストライブラリを書きました。どちらもGithubで開発したEコマースWPプラグインです。採用されているライブラリは、テーマ用に機能するように簡単に変換できます。 Travis-CIを使ったスイートの素晴らしいところは、それを使って複数のPHPとWPのバージョンを素早くテストできることです。あなたのテーマがプレミアムテーマで、そのため無料のGithubレポジトリに置くことができない場合、このスイートはTravis-CIを使用したPrivate Githubリポジトリで動作します。

あるいは、Jigoshopにあるものを使用して、コマンドラインで動作するPHPUnitを使用することもできます。

3
Chris