問題タブ [microsoft-fakes]

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 に答える
127 参照

c#-4.0 - オブジェクトを使用するクラスのジェネリック フェイクを作成できません

次のようなオブジェクトを使用するクラスの一般的な偽物を作成することはできません

呼び出しは、実際のコードの実装に進みます。

しかし、オブジェクトタイプを指定すると、機能しています

しかし、すべてのオブジェクトに対して一般的な単一の偽物が必要なので、オブジェクトごとにコードを繰り返す必要はありません。

私の質問は、なぜ偽物が機能し<object>ないのですか?. それはすべてのクラスの親であるためです。

誰か助けてください:(

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

c# - コンストラクターまたはスタブ/シムでコードをリファクタリングしますか?

私がテストしている方法があります。このメソッドのコンストラクターは、その基本クラスのコンストラクターを呼び出し、次にその基本クラスのコンストラクターでいくつかのメンバーを設定し、メソッドを実行してデータベースからデータをフェッチし、データベース値の一部をより多くのメンバーに設定します (すべてコンストラクターで行われます)。 )。

元のメソッドをテストするために、コンストラクターでデータベースへの呼び出しを削除し、リファクタリングしてメンバーを設定するだけにすれば、テストでコンストラクターを簡単に実行して、渡されたインターフェイスをスタブ化できます。 (この場合は1)または、データベース呼び出しを行うコンストラクターのメソッドをシムアウトしようとする必要がありますか??

this.clientCache.DBService.FetchFromDB(...) メソッドは、メソッド FetchFromDB を呼び出す別のインターフェイス DBService を呼び出しています。この fetchfromDb メソッドは QSL サーバーに行き、データセットを取得します。

これが私のテスト方法です。

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

c# - スタブを使用してインターフェイスからプロパティを設定する

スタブ化されたインターフェイスを作成し、以下に示すようにテスト メソッドに渡します。テスト メソッドに渡されるインターフェイス (StubISeries) をスタブ化しています。インターフェイスで get のみの場合comparisonSeries.Key、set プロパティをインターフェイスに追加せずにスタブで値を設定できますか?

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

c# - 単体テスト Entity Framework は、shim と偽物を使用して 100% のカバレッジを返さないのですか?

リポジトリを単体テストしようとしていますが、テストすると、その特定のメソッドで 0% のコード カバレッジが得られるのではなく、100% のカバレッジが得られません。

サードパーティのフレームワークを使用せずにテストしたいので、シムとフェイクを使用したかったのです。

テストしようとしているクラスは次のとおりです。

テストクラスは次のとおりです。

テスト方法は次のとおりです。

GetAll メソッドのコード カバレッジが 0% になっています。100% にする方法と 0% になるのはなぜですか?

0 投票する
4 に答える
146 参照

c# - 具体的なオブジェクトの代わりにスタブをパラメーターとして使用する

問題なくメソッドに渡されるオブジェクトをインスタンス化できる場合でも、スタブを作成してパラメーターとしてメソッドに渡すことが常に必要ですか。

元。以下でこのメソッドをテストしたいと思います。このメソッドは、TargetDataRanger オブジェクトをパラメーターとして受け取ります。a.) スタブして、b.) 依存関係を壊し、インターフェースの背後に置き、それをスタブして、c.) インスタンス化して、具体的なオブジェクトとしてメソッドに渡す必要があります。

以下のこのケースでは、具体的なオブジェクトを使用して回避できますが、それは賢明であり、いくつかのテストルールまたは何かに違反しますか?

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

c# - Microsoft Shims がテスト対象のメソッドをデバッグできない

実行すると問題なく実行できるテスト メソッドがありますが、デバッグすると例外が発生して失敗します。以下は、テストされたメソッドと VS Test Runner からの出力です。例外は ShimsContext.Create() から来ています

情報: VS 2012 Permium Update2 ここに画像の説明を入力

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

c# - テストメソッド内でメソッドをスタブまたはシムしますか?

テストメソッドbase.ResolveDate()内に、基本クラスとそのパブリックおよび仮想からのメソッドがあります。このメソッドを自分のメソッドでスタブ/シムしたいのですが、スタブまたはシムしますか? スタブまたはシム、どうすればそれを行うことができますか? MS Fakes での私の経験から、スタブはオーバーライド可能なメソッドにのみ影響を与えることができるため、スタブになるようです。- ALM 2012

テスト方法は次のとおりです。

スタブ/シムしたい基本クラスのメソッドは次のとおりです。

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

c# - Visual Studio 2012 の偽物に必要な参照がありません

ここ数か月で VS 2012 で Fakes を使い始めましたが、最近、Fakes フレームワークのバグであると思われるものに遭遇しました。つまり、Fakes ファイルによって生成された f.crpoj ファイルには、アセンブリの 1 つへの参照が含まれていません。この場合、*.fakes.dll ファイルは生成されず、次のエラーが表示されます。

型 ' MyType ' は、参照されていないアセンブリで定義されています。アセンブリ ' MyAssembly , Version=0.1.0.0, Culture=neutral, PublicKeyToken= **'への参照を追加する必要があります。**ProjFolder \obj\Debug\Fakes\as\f.cs

テスト ソリューションを作成しましたが、複雑なソリューション以外ではこの問題を再現できませんでした。何かが Fakes ジェネレーターにすべてのアセンブリを含めないようにしています。私の Fakes ファイルには、カスタムのスタブ/シム生成パラメーターがありません。何かご意見は?