問題タブ [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.
c# - メソッドが 1 回だけ呼び出されることをアサートするにはどうすればよいですか?
編集されたソリューション:
fakeiteasy - FakeItEasyを使用してパラメータのプロパティを更新する方法
次のようなメンバーを含むインターフェイスがあります。
私はFakeItEasyを使用して、これのモックを作成し、クラスの1つに渡します。
私がテストしているコードはこのメソッドを呼び出してから、SqlParametersの1つの値をチェックします。メソッドが呼び出されたときに、FakeItEasyを使用してこのパラメーターのValueプロパティを設定するにはどうすればよいですか?
これはデータベースから個々の情報を取得するためのベストプラクティスではないことを理解していますが、既存のストアドプロシージャを使用しており、その一部にはOUTパラメータがあります。
c# - インターフェイスを偽装/モックすると、「デフォルトコンストラクターがありません」というエラーが発生しますが、どうすればよいですか?
リポジトリ実装の単体テストを作成しようとしています。リポジトリは RavenDB をデータベースとして使用します。単体テストのために、RavenDB の部分をモックしたいと思います。モック (偽物) を作成するために、FakeItEasy を使用しています。RavenDB API はインターフェイスを介してアクセスされるため、モッキング/フェイクに問題はないと考えました。
ただし、特定のモックをインスタンス化しようとすると問題が発生します。単体テスト コードの関連部分は次のようになります。
IRavenQueryable 偽物をインスタンス化すると、例外が発生します。これは、Xunit.net ランナーからのログです。
私が偽造しようとしているのはインターフェースであるため、「デフォルトのコンストラクターが見つかりません」は意味がありません。何が問題なのか誰か提案がありますか?
fakeiteasy - 式ツリーを引数の制約として使用する
FakeIteasy CallTo アサーションで引数制約として式ツリーを使用できますか?
次のシグネチャを持つインターフェイスのメソッドを指定します。
次のようなコードで呼び出されます。
私は、次のような単体テストを念頭に置いています。
ただし、これにより警告が生成されます:型引数を明示的に指定してください。
現在、理想的ではない Ignored プロパティを使用する必要があります。
c# - FakeItEasyで使用されるダミーとは何ですか?
FakeItEasyでダミーは何に使用されますか?A.FakeやA.Ignoredとどう違うのですか?
ありがとう :-)
.net - FakeItEasy クラスのフェイクを作成する
最近 FakeItEasy を使用しようとしましたが、多くの癖を回避せずに具象クラスから Fake を作成できませんでした。
私は次のことを試しました:
その結果、引数が一致するコンストラクターが見つかりませんという例外が発生しました
次に試しました:
その結果、同様のエラーが発生しました。
最後に私が試した:
これにより、最終的に偽物を作成することができました。具象クラスを偽造する例のほとんどが、これが私が見つけたよりも簡単であることをほのめかしている理由について、私は混乱していますか? そして、文書化された方法、上記の試行 #2 を使用してもうまくいかなかったのはなぜですか?
文書化されていない具体的なクラスを偽造することにはいくつかの制限がありますか?
fakeiteasy - FakeItEasy & "params" 引数
次のシグネチャを持つメソッドがあります。
このメソッドは、IDal という名前のインターフェイスで定義されています。
私の単体テストでは、次のように記述します。
テストを実行すると、2 番目の引数で署名が一致しません。私はそれを次のように変更しようとしました:
しかし、それも失敗でした。これを機能させる唯一の方法は、次を使用することです。
誰かがそれを変更すると単体テストが壊れるように、2 番目の引数の値を指定できるようにしたいと思います。
c# - FakeItEasyを使用して、偽物のプロパティに設定された値を取得するにはどうすればよいですか?
FakeItEasyを使用して、偽のオブジェクトのプロパティ値の設定をキャプチャしようとしています。
最初のインターフェース:
次に、単体テストのフラグメント:
そして持っている
?????を交換するために何を置くべきかわかりません
c# - リフレクションの使用 Lamba をパラメーターとして渡す静的ジェネリック メソッドを呼び出す
リフレクション経由で次のコードを書くことは可能ですか?
oは次のとおりです。
WithArgumentsForConstructorの場所:
Foo クラスは次のとおりです。
私がしたことは: