問題タブ [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.
azure - MicrosoftFakesを使用したAzureRoleEnvironmentAPIのモック
MicrosoftFakesを使用してAzureRoleEnvironmentAPIをモックしようとしています。問題は、単体テストでコードを実行できるようにシム/スタブを配置する方法が見つからないことです。
たとえば、次のコードがあるとします。
上記をFakesでモックして、単体テストで実行できるようにするにはどうすればよいですか?
これまでのところ、RoleInstanceクラスには、RoleInstanceからクラスを派生できない内部セッターを持つ抽象プロパティがあるように見えるため、私の試みは失敗します。これにより、RoleEnvironment.CurrentRoleInstanceにシムを提供できなくなります。
ところで、私は偽物に過度に依存することは有害であると見なされる可能性があることを十分に認識しています。重要なのは、本番環境とテスト実装とともに、RoleEnvironmentのラッパーがすでにあるということです。私がモックしようとしているコードは、私もテストしたい本番実装にあります。
c# - Microsoft Fakesを使用して、それ自体のジェネリックパラメータを持つスタブをどのように参照しますか?
作業中のいくつかの単体テストでMicrosoftFakesを使用しています。私のインターフェースは次のようになります。
これの典型的な実装は次のようになります。
このインターフェイスをMicrosoftFakesで使用して、スタブを生成してもらいたいです。問題は、Fakesが使用するフォームがStubInterfaceNameHere<>
であるため、上記の例では、次のようなことをしようとすることになります。StubISecuredItem<StubISecuredItem<StubISecuredItem<StubISecuredItem....
これは可能ですか?もしそうなら、私はこのように偽物をどのように使用しますか?
visual-studio - Fakes は、Moles のように「Ultimate」以外のバージョンの Visual Studio でも利用できますか?
Ultimate より低い Visual Studio のリリースで Fakes を利用できるようにする意図があるかどうかは誰にもわかりませんか?
Fakes は Moles に代わるものとして請求されているようですが、Ultimate でのみ機能する場合、ほとんどの Moles ユーザーはアクセスできません。
c# - ファクトリ インスタンス メソッドで Microsoft Fakes を使用する
次のようなクラスがあります。
}
次に、シムを作成して IsBigger メソッドを使用したいのですが、デフォルトでは false を返します。この場合、基本メソッドを呼び出すにはどうすればよいですか?
テストは次のようになります。
unit-testing - NSubstitute モックで MS Fakes シムを使用しても問題ありませんか?
NSubstituteを使用して、単体テスト用の外部オブジェクトをモックしています。ただし、多くのレガシー クラスはインターフェイス経由で呼び出されず、モックで簡単に置き換えることはできません。
Microsoft Fakesを使用することを検討しましたが、 「モック フレームワークと MS Fakes フレームワーク」 の質問に対する回答によると、
「より完全な機能を備えたモッキング フレームワークを既に使用している場合、Fakes スタブには重要な部分が欠けているように感じるかもしれません。」
同じテストで MS Fakes シムを NSubstitute モックと一緒に使用することは可能ですか?
互換性の問題を予期する必要がありますか?
microsoft-fakes - Microsoft.Fakes にインターフェイスのスタブがない理由
単体テストで Microsoft.Fakes を使用しようとしています。Microsoft.Fakes がインターフェイスのスタブを作成する (ソリューション内に実装されている)チュートリアルを読みましたが、私のソリューションではスタブはクラスでのみ使用できます。
すべての intercaes に対してもスタブを取得するにはどうすればよいか教えてください。インターフェイスとクラスの両方が public として定義されています。
unit-testing - 単体テスト中にMVCコントローラーをインスタンス化するときのVerificationException
でユニットテストを行っていますが、偽のアセンブリMicrosoft Fakes Framework
を追加するまではすべて正常に機能します。System.Web.Mvc
その瞬間から、単体テストでコントローラーを初期化しようとすると、aVerificationException
がスローされます。偽のアセンブリ参照を削除すると、すべてが正常に機能します。ただし、オブジェクトのAction
メソッドをシムするために、この偽物が必要です。UrlHelper
ここSOでいくつかのリンクを見たことがありますが、それらは主にFluentValidationに関するものであり、私には役に立ちません。また、 Rich Czyzewskiによる優れた記事(ASP.NET MVC4での非侵襲的単体テスト– Microsoft Fakes Deep Dive)は、彼がどのようにインスタンス化したのかまったくわからないため、役に立ちませんでしたUrlHelper
。私は彼が示したのと同じ例に従いましたが、UrlHelper
コンストラクターもスローVerificationException
します。
Richのスタブに加えHttpResponseBase
て、などを追加して、 Scott Hanselmanのブログ、 Mix08でのASP.NET MVCセッション、TDD、およびMvcMockHelpersHttpSessionBase
にある同様のシナリオを作成しましたが、それでも運がありません。
誰かがこの問題を回避することができましたか?
みなさん、よろしくお願いします!
c# - マイクロソフトは、静的クラスのスタブ静的プロパティのみを偽造します
Microsoft Fakes フレームワークを使用して静的クラスの静的プロパティをシムすることは可能ですか?
そうでない場合、なぜスタブは機能するのにシムは機能しないのでしょうか?
ここに私のクラスコードがあります:
ここに私のテストコードがあります:
unit-testing - SQL コードを使用した ac# メソッドの Microsoft Fakes (Shims および/または Stubs)
すぐに使える機能 (MSTest.exe だと思います) と Microsoft Fakes (スタブと Shim) を使用して、単体テストについてもう少し学習しようとしています。
Visual Studio 2012 Ultimate と .Net 4.5 Framework を使用しています。
単一の出力値を返すストアド プロシージャ (SQL Server) を呼び出す次のコードがあるとします (簡単にするため)。
- 出力値を特定の値に設定できるように、シムやスタブを使用してテストできますか?
- もしそうなら、どのように?
- これには単体テストを使用する必要がありますか?
私はこのチュートリアルに従い、それを理解して曜日に適応させることができました.
MSの従業員がデータベースを分離してテストできるようにコメントしているように、VS2012データベースユニットテスト機能が2012年末までに利用可能になる(または復活する)のを待っています。