テスト可能にするために作成したWordpressプラグインに現在いくつかの修正を加えています。問題は、どのメソッドをテスト用に書くべきかがわからないことです。これらの関数とグローバル変数のいくつかを使うメソッドがあります。
is_singular()
$_GET
$_POST
$_SESSION
is_singular
、is_page
、is_home
およびその他の関数はコンテキストによって異なります。テストでこれらのコンテキストを偽造する方法がわかりません。
代わりにそれらをメソッドに引数として渡してみましたが、追加の引数を受け付けないフックがあるため、実際には渡すことができません。
テストクラスからそれらを供給するだけで大丈夫ですか?私はそれらを使わないような方法でプラグインを修正することが本当に困難です。
何か案は?
更新
私はユニットテストに wordpress-tests とPHP Unitを使用しています。私は始める前に単体テストについていくつかの研究をしました、そして単体テストのグローバル変数を避けるべきである習慣があります。
WordPressは、単体テストの拡張機能に関する標準的な慣例にはほど遠いです。または一般的な拡張構造用です。
現時点では、次のいずれかを行ってください。