私はいくつかのテストケースを書いています。私はMockオブジェクトを使っているテストケースを持っています。 2つのクラスメソッドが別のクラスメソッドから呼び出されているかどうかを確認する必要があります。ここで私がやったものだ:SimpleTest Mocking Problem
まず、私はモックを生成:
Mock::generate('Parser');
その後、私のテストの内側に私は呼ば:
$P = new MockParser();
$P->expectOnce('loadUrl', array('http://url'));
$P->expectOnce('parse');
$P->fetchAndParse('http://url');
を私の実装コードは次のようになります。
public function fetchAndParse($url) {
$this->loadUrl($url);
$this->parse();
}
そして、loadUrlメソッドとparse()メソッドが存在します。テストで2つの失敗があります。両方とも「[loadUrl]のコール数が[1]ありました[0]」と言っています。私は何が起こっているのか分かりません - メソッドは、その関数から呼び出されている!私の経験は、.NETの世界でフレームワークをあざけるとされているが
おかげで、
ジェイミー
これは本当に役立ちます。つまり、かなりコードを変更する必要があることを意味しますが、少なくとも今何が起こっているのかを知ることができます。ありがとう! –