質問: phpunitのhttpリクエストをモックするにはどうすればいいですか? 私はfacebookのグラフapiをリクエストするプラグインを書いています。私のユニットテストで実際にこれらの要求をしたくないので、どうすればこれを克服できますか?私のメソッドはwp_remote_getとwp_remote_postの両方を呼び出します。そこを検索することはrunkitを使って関数を偽装する方法のようです/ ここ 貢献者があまりにも多くの依存関係を必要とするのを避けたいので、上記の方法は避けたいと思います。他に選択肢はありますか?私のクラスはwp_unittestcaseを拡張しているので、私はおそらく私が使うことができるwpユニットテストから何かがあるのを望みますか?
回答: コードをさらに分離するために、wp_remote_get etc呼び出しを2つの実装を持つインターフェイスにラップします。一方の実装はwp_remote_getを呼び出し、もう一方の実装はテストデータを返します。このような状況でrunkitなどのツールを使用すると、実際の問題を回避できます。つまり、コードとapiが密接に関連しすぎているため、ある程度のカプセル化と抽象化が有益になります。