重複の可能性:
PHP-既存の関数をオーバーライドする
モックを使用して、外部依存関係を持つ関数のいくつかを単体テストしたいと思います。
だからここに行きます...以下は私が扱っているものの単純化されたモデルです。私が継承したコードの多くはこのように書かれているので、可能であれば書き直さなくても簡単なテストを書けるようにしたいと思います。
function display_tasks($id)
{
$tasks = call_some_function_that_runs_a_database_query($id);
$html = "<some html>";
foreach ($tasks as $task)
{
// Some operations here
}
$html .= "</some html>";
return $html;
}
私の関数が呼び出しているコードはオブジェクトにラップされていないため、インターネット上の例の99%がオブジェクト指向コードに基づいているため、さまざまな例を実行するのに問題があります。PHPunitから直接手続き型関数をモックすることさえ可能ですか?
call_some_function_that_runs_a_database_query
戻ってきたものは何でもモックアウトできるようにしたいと思います。組み込みのPHPunitモックメソッドを使用してみましたが、これを実行しても、関数の元の呼び出しの結果がオーバーライドされることはありません。
どんな助けや例も本当にありがたいです。