問題タブ [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.
unit-testing - VS2010 で Moles を今すぐ始める価値はありますか?
あちこちで多くの Facade を作成していることに気付いたので、Moles の使用を開始することを検討しています。
次に、VS2012 で Fakes が Moles に取って代わり、あるインフラストラクチャから新しいインフラストラクチャに移動するには変更が必要であるということをどこかで読みました。
私の質問は、あるフレームワークから新しいフレームワークにテストを移植する必要がある場合、Moles から始める価値があるでしょうか? 移植作業は、VS2012 に移行して Fakes を使い始めるまで Facades を使い続けるのに十分な大きさですか?
visual-studio - Microsoft Fakes「アセンブリはサポートされていません」
ライブラリの実装とは別にテストできるように、コードで参照するライブラリに (Visual Studio 2012 Ultimate で) Fakes アセンブリを追加しようとしています。私が抱えている問題は、参照されているアセンブリを右クリックして [偽のアセンブリを追加] をクリックすると、次のメッセージが表示されることです。
「アセンブリはサポートされていません Fakes はこのアセンブリをサポートしていません。」
このメッセージをグーグルで検索してみましたが、引用符で囲んだ場合は結果が 0 になり、引用符で囲んでいない場合は何も関連がありません。他の誰かがある時点でこの問題に遭遇したことが予想されるので、これは非常に奇妙だと思いましたが、とにかく...
メッセージの検索をあきらめた後、Microsoft Fakes がサポートするアセンブリの種類を教えてくれる場所を探してみましたが、これも無駄でした。
私の質問は次のとおりだと思います: Microsoft Fakes がサポートしている/サポートしていないアセンブリの種類を知っている人はいますか?
特にこれがサポートされていない理由を誰かが知っている場合に備えて、参照しているアセンブリに関するいくつかの情報を含めました。 -COM Interop アセンブリです。-ActiveX コンポーネントです。・名前が強くない。
どんなリードでも大歓迎です。
microsoft-fakes - Fakes アセンブリでビルドが失敗する
構造マップ アセンブリに依存する単純なコンソール アプリケーションがあります。次に、このコンソール アプリの参照をテスト プロジェクトに追加し、フェイク アセンブリを追加すると、以下のエラーが発生します。
アセンブリ 'StructureMap、Version=2.6.1.0、Culture=neutral、PublicKeyToken=e60ad81abae3c223' を解決できませんでした。アセンブリ参照がありませんか? (タスク ID:18)
助言がありますか?
c# - Microsoft Fakes を介して ConcurrentDictionary (C#) で長い外部依存関係をシムする方法は?
私がテストする必要があるコードでは、そのような外部依存関係が見つかりました:
var something = GConfig.SConfig[Type.ServiceType1].Names;
この部分のコードは次のようになります。
その依存関係をシムする必要がありますが、私自身では完全な解決策を見つけることができず、部分的にしか見つかりません:
GConfigIt (およびシミング名) の場合:Fakes.ShimGConfigIt.AllInstances.NamesGet
SConfig をシミングする場合:Fakes.ShimGConfig.AllInstances.SConfigGet
しかし、接続が見つかりません。完全にシムする方法です。
PS 私は単なるテスターであり、既存のコードを変更することはできません。変更を行うには、開発者にそれを行うよう説得する必要があります (つまり、GConfig の追加インターフェイス)。しかし、開発者は、それが「簡単なテスト」または「テストのためのテスト」のためだけの変更ではなく、実際に行う必要があることを確認する必要があります。
microsoft-fakes - MSBuild - dll の偽物によるビルド エラー
構成: Visual Studio 2012 Premium + Update 2
こんにちは、私の unitTest プロジェクトは 2 つの Fake アセンブリを使用しています。これらのアセンブリの 1 つがビルド エラーを生成しますが、その理由は本当にわかりません。このアセンブリを取り外せば、コンパイルはOKです。エラーは「結果:予期しない例外が発生しました(-1002 - 0xfffffc16)」です
同じエラーが発生した他の投稿を見たことがありますが、これは Moles アセンブリが原因です。誰かがこの問題を解決する解決策を持っていますか?
ビルド結果の一部を次に示します。
ありがとう。
unit-testing - UnitTestIsolation インストルメンテーションの初期化に失敗しました。Visual Studio を再起動して、このテストを再実行してください
単体テストが shimscontext.create 行で失敗します。
エラー: UnitTestIsolation インストルメンテーションの初期化に失敗しました。Visual Studio を再起動して、このテストを再実行してください
既存の投稿に従って、NUnit アダプターをインストールしようとしましたが、テスト エクスプローラーから実行しようとしましたが、まだうまくいきません。
私が間違っていることについて何かコメントはありますか?
ありがとう
c# - Fakes がビルド済みの Fakes プロジェクトから Fakes dll を正しく参照しないのはなぜですか?
以下で説明するように、別のプロジェクトからmscorlib 偽の DLLを参照しようとすると問題が発生します。
MS Fakes を使用して単体テストを作成している多数の VS12 ソリューションがあります。次の URL の提案に基づいて、偽の Dll のためだけにプロジェクトを作成することにしました: Microsoft Fakes のコード生成、コンパイル、および命名規則。アイデアは、偽の DLL の場所がローカライズされ、テスト プロジェクト全体に多数の偽の DLL をばらまく必要がないということです。(これを一般的なフェイク ライブラリと呼びます。)
現在の単体テストではPresentationCore
、System.Management
とのシムを使用してSystem
います。ただし、私が使用しているシステム shim は、実際にはmscorlib.dll
、Convert (静的クラス) と DriveInfo (シール クラス) にあります。mscorlib のこれら 2 つのクラスのみが必要なので (今のところ)、mscorlib 用に次の .fakes ファイルを作成しました。
PresentationCore と SystemManagement については、同様の .fakes ファイルがあり、クラスをクリアしてから名前で追加します。
ただし、私のテスト プロジェクトでは、共通のフェイク ライブラリから mscorlib.4.0.0.0.Fakes DLL の参照を追加すると、Convert シムと DriveInfo シムを使用したテストが実行されません。代わりに、テスト メソッドは Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException をスローし、サポートされていない shimmed クラスを指定します。PresentationCore および System.Management の機能を使用するテストは、共通のフェイク ライブラリを参照する場合でも機能します。
ただし、System の Fakes アセンブリをテスト プロジェクトに直接 (および mscorlib を間接的に) 追加した場合、テスト プロジェクトにまったく同じ mscorlib.fakes ファイルを作成し、ローカルのmscorlib.4.0.0.0.Fakes Dll への参照を追加すると、一般的なフェイク ライブラリにリンクしたときに例外をスローしたテストは、問題なく実行されます。
オブジェクト ブラウザーを使用して、一般的なフェイク ライブラリの mscorlib フェイク DLL を調べ、ローカルでビルドされたものと比較したところ、同じように見えます。
一般的なフェイク ライブラリで mscorlib フェイクを参照しても機能しない理由を知っている人はいますか?
unit-testing - ShimSPWeb().LocaleGet が利用できない?
単体テストの目的で dll の偽のアセンブリを追加できる VisualStudio 2012 の新機能を調べ始めました。私は SharePoint 2010 を使用していますが、SharePoint API に依存するコードを単体テストするのは面倒です。
Microsoft.SharePoint の偽のアセンブリを追加したところ、問題なく動作しましたが、メソッドをオーバーライドする必要があるところまで来ましたSPWeb.Locale
。それは簡単だと思いました。のような方法があると思っていたのShimSPWeb.LocaleGet
ですが、ありません。
Locale
これは、私に関する唯一のオプションです。ShimSPWeb
要するに:利用可能なものがあるはずshimWeb.LocaleGet
です。