問題タブ [fakeiteasy]

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 投票する
2 に答える
1885 参照

c# - イベントがFakeItEasyでサブスクライブされていることを確認するにはどうすればよいですか?

イベントを含む偽のクラスがあります。私のコードはそのイベントをサブスクライブする必要があり、それをテストしたいと思います。NUnitでFakeItEasyを使用していて、コードが実際にそのイベントにサブスクライブしていることを確認する方法を探しています。

ありがとう!

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

mocking - プロパティを取得するための呼び出しをどのようにスタブ化しますか?

次のインターフェースを検討してください...

getこのプロパティの関数への呼び出しをfakeiteasyでスタブ化しようとしています。

テスト対象システムの Foo() メソッドは、MyProperty get プロパティ呼び出しの値を返すだけです。残念ながら、このテストは常に失敗します。デバッグ時に、getプロパティが常に false を返しているようです。

getプロパティ呼び出しの戻り値をスタブ化するにはどうすればよいですか?

編集- MySUT クラスのコードの追加 (コメントで要求されたとおり)

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

c# - FakeItEasy で既存の値を使用してパラメーターをスタブ化する

これはちょっと変わったものです。パラメーターを持たないメソッドをスタブしようとしていますが、パラメーターが何であるかは気にしないので、引数を無視しています。次のようになります。

スタブ化されたメソッドが次のように呼び出された場合、これは問題なく機能します。

targetただし、が事前に初期化されている場合は機能しません。例えば:

偽物を調べるTagと、出力パラメータが記録されていることがわかり<NULL>ます。出力ターゲットがすでに何かに設定されている場合、それらは一致していないと思われます。ignoredテストで を に設定してみましnew List<Foo>()A<List<Foo>>.Ignoredが、どちらも結果に影響しません。

私の質問は、 out パラメータのターゲットに既に値がある場合、 out パラメータなしでメソッドをスタブする方法を知っている人はいますか?

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

c#-4.0 - FakeItEasy の最初のステップと Action タイプの問題

FakeItEasyでテストしたい次の(ここでは簡略化された)コードがあります。

がスローされることをテストしたいServiceExceptionので、そのようにテストをセットアップします

次のコードで

次のメッセージが表示されます

現在のプロキシ ジェネレータは、次の理由により、指定されたメソッドをインターセプトできません: - 封印されたメソッドはインターセプトできません。

次のようにサービスでメソッドを直接呼び出すと

このメッセージが表示されます

これは DynamicProxy2 エラーです: インターセプターは、ターゲットのないメソッド 'Void TransactionalExecutionOf(System.Action)' に対して '続行' を試みました。ターゲットなしでメソッドを呼び出す場合、「続行」する実装はなく、実装を模倣するのはインターセプターの責任です (戻り値の設定、引数の出力など)。

今、私は少し混乱していて、次に何をすべきかわかりません。

0 投票する
3 に答える
7415 参照

asp.net-mvc - 拡張メソッドをモック/偽造することは可能ですか?

私はコントローラー拡張機能を使用しており、次のように FakeItEasy (v 1.7.4) を使用してそれをモックしようとしました:

しかし、私はこのエラーが発生します:

0 投票する
2 に答える
1120 参照

unit-testing - メソッド内で例外がスローされたときにメソッドがエラーをログに記録する場合は、fake を使用してテストします。

enter code hereメソッド内で例外がスローされたときにエラーをログに記録するメソッドがあります。このメソッドは、シングルトン内では非静的です。

以下の単体テスト コードは、NullreferenceException をスローします。

解決策: 非偽のメソッドに例外をスローさせる必要がありましたが、これが私が行った方法です。

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

c#-4.0 - 指定されたオブジェクトは偽物として認識されません。問題

非常に単純なテストで FakeItEasy 呼び出しが失敗し、「指定されたオブジェクトは偽のオブジェクトとして認識されません」というエラーが発生するという問題があります。呼び出しは簡単です:

偽物も同様に単純で (A.Fake())、リストを受け取ってリストを返す 1 つのメソッドとのインターフェースを偽造します。デバッグ モードでは、myService のインスタンスが {Fake IMyInterface} 型であることがわかります。とにかく、この問題は本当に私を悩ませています。あなたの助けに感謝します。

アップデート:

これは私自身のひどい間違いでした。電話に次のように言わせる必要がありました。

0 投票する
2 に答える
609 参照

asp.net - FakeItEasyを使用してSystem.Security.Principal.IIdentityを偽造する方法は?

私のアプリでは、ユーザーはWIF経由でログインしています。ユーザーの資格情報はに保存されSystem.Security.Principal.IIdentityます。CreateUser()今、私はメソッドをテストしたいと思います。私は何らかの方法でそのオブジェクトを偽造する必要があります。私は次のようなことをしようとしています:-そのオブジェクトを返すextractメソッド:

次に、テストファイルで次のようにします。

しかし、それは機能しません。最善の方法でそれを行う方法はありますか?

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

generics - FakeItEasyを使用してジェネリックメソッド呼び出しを偽造する方法は?

私はを偽造していて、 (内線番号)IDbConnectionへの呼び出しを偽造したいのですが、そうするとが表示されます。QueryOne<T>()DapperNullReferenceException

これが私のコードです:

ジェネリックメソッド呼び出しをモックインすることはできませんか、FakeItEasyそれとも例外が発生するのですか?

前もって感謝します...

キリスト教徒

0 投票する
3 に答える
10383 参照

c# - xUnit、SubSpec、および FakeItEasy を使用してスローされた例外をテストする方法

単体テストには xUnit、SubSpec、FakeItEasy を使用しています。これまでに、次のような肯定的な単体テストをいくつか作成しました。

しかし今、いくつかの否定的な単体テストを作成し、特定のメソッドが呼び出されず、例外がスローされることを確認したいと考えています

例えば

FakeItEasy には MustNotHaveHappened 拡張メソッドがあり、xUnit には Assert.Throws メソッドがあることがわかります。

しかし、どうすればすべてをまとめることができますか?

テストしたい例外は、Save メソッドが呼び出されたときに発生するはずです。したがって、presenter.Save() メソッド呼び出しの周りに Assert.Throws メソッドをラップする必要があると思いますが、presenter.Save メソッドは .Do(() => ... で呼び出す必要があると思いました。

私の単体テストが以下のように見えるべきか、それとも何か他のように見えるべきか教えてください。

どうもありがとう