問題タブ [mockery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1829 参照

unit-testing - Mockery\Exception\NoMatchingExpectationException PHPUnit テストが失敗する

PHPUnit でテストしていますが、関数でテストが失敗します。しかし、理由はわかりません。モックしたい関数:

そして私の単体テスト:

しかし、テストは言う:

単体テストを修正するにはどうすればよいですか? または、どうすればテストをリファクタリングできますか?

0 投票する
1 に答える
1568 参照

php - 配列でPHPSpecを使用していますか?

私は PHPSpec 2 を使い始めており、Mockery を気に入っていますが、理解できない問題に遭遇しました。

静的関数によって返される配列があり、この配列を検証したいと考えています。必要なすべてのキーがそこにあることなどを確認してください。

私は試した:

としても:

しかし、どちらも機能しませんでした。明らかな理由で最初のエラー$systemsは、オブジェクトではないと言ってエラーになりました。2 番目のエラーは、クロージャーをシリアル化できなかったというものです。配列にはクロージャーがあります(これは構成配列です)が、それらをフィルターで除外しようとしましたが、役に立ちませんでした。

配列の例:

これは現在 PHPSpec 2 で可能ですか? 私はばかげたことを見逃しているだけですか、私はフレームワークにかなり慣れていません。

0 投票する
1 に答える
1427 参照

php - PHP Mockery がモック内からモックされたメソッドを呼び出さない

Mockery を使用して、例外がスローされたときにメソッドが別のメソッド内から呼び出されることをアサートしようとしています。例として:

明らかに名前は簡略化されていますが、それは私が持っているものと他のすべての点で同じです。コードでは、FooNotAvailableExceptionがキャッチされると、 への呼び出しを返しますotherMethod()

問題は、実行すると次のエラーが発生することです。

Mockery\CountValidator\Exception: Controller のメソッド otherMethod() は、正確に 1 回呼び出す必要がありますが、0 回呼び出す必要があります。

これは、元のモックされていないものが内部的にotherMethod()呼び出されているためです。テスト内から呼び出すとしたら、次のようになります。

テストに合格します。

それはなぜですか? また、テストしたい内容のテストをどのように作成すればよいでしょうか?

0 投票する
0 に答える
597 参照

php - uasort(): モック オブジェクトを使用したユーザー比較関数によって配列が変更されました

正しく機能しているソート機能をテストしようとしていますが、モックオブジェクトで機能をテストできないようです:

これはテストされる機能です:

getPointsFor 関数は次のようになります。

このエラー メッセージの原因となるコード内の変更はありません。

ここでの更新 は、他のすべての呼び出された関数です。副作用は見られませんが、間違っている可能性があります。

これは私のベット内の getPoints です:

getQuestion と getQuestionbet も私のテストケースには適用できません。