問題タブ [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 に答える
3623 参照

visual-studio-2012 - Visual Studio 2012 Fakes が、Stream 戻り値の型を持つメソッドを持つインターフェイスのスタブを生成しない

Visual Studio 2012 を使用して "Add Fakes Assembly" でスタブを生成すると、このインターフェイスのスタブを生成できないことを除いて、すべてが期待どおりに機能します。

Stream を FileStream に変更すると (Stream は抽象クラスであり、これが抽象クラスでのみ発生しているかどうかを確認したかったため)、まだ生成できません。メソッド シグネチャを完全に削除すると (つまり、 が削除Stream OpenReadStream(string path);されます)、スタブを生成できます。

これは私の .fake ファイルの内容です:

  1. なぜこれが起こっているのか、どうすれば回避できますか?
  2. Fake 生成の結果が表示される Visual Studio 出力パネルがあるはずです。何も表示されず、通常のビルド パネルに表示されません。私がそれを見つけることができるアイデアはありますか?すべての VS 2012 メニューを検索しました。
0 投票する
2 に答える
4338 参照

unit-testing - Moles / Fakes:テストセットアップを実装するにはどうすればよいですか?

私は最近Molesと仕事をしていて、今はFakesに切り替えています。以前のテストプロジェクトでは、次のようなテストセットアップがありました。

そこでは、ほくろオブジェクトのいくつかをセットアップするのと同じように、いくつかの必要なセットアップを行いました。

ほくろのテストメソッドは、どういうわけかそのように見えました([HostType( "Moles")]も、ほくろオブジェクトを使用することを指定しています。

現在、偽物では、HostType属性を使用しなくなりました。代わりに、「モック」クラスを使用できるShimsContextを使用します。どういうわけか次のようになります。

このコンテキストを使用しないと、エラーメッセージが表示される可能性があります。基本的に、FakesTestMethodにShimInvalidOperationExceptionがあり、以下に説明する方法でShimsContext.Create()を使用する必要があることを示しています)

そのため、セットアップ呼び出しをそのコンテキストに入れようとしましたが、最終的には次のようになりました。

さて、セットアップメソッドでこのコンテキストを使用すると、そこで行われるすべてのセットアップは後でコンテキストを使い果たし、単体テストが実際に実行されようとしているときに無効になります。これは実際には私が望んでいることではありません。テストのセットアップ方法。

この問題を修正するには、usingをテストメソッド自体の内部に配置し、このコンテキスト内でテストコードの前にプライベートセットアップメソッドを呼び出すだけです。このセットアップメソッドは、[TestInitialize]セットアップメソッドの前に実行されていたすべての処理を実行するようになりました。コードはどういうわけか次のようになります。

この問題に関する私の問題は、このソリューションが[TestInitialize]セットアップメソッドのアイデアを完全に「殺す」ことです。このコードを各テストメソッドと最も重要な部分に複製する必要があります。このSetup()メソッドで作成されたオブジェクトは、各テストで作成および破棄されますが、これはまったく理想的ではありません。

偽物でテストデータを設定する他の方法はありますか?どんな助けでも大歓迎です!

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

msbuild - MSTest または Resharper からテストを実行するときの ShimNotSupportedException

現在、Microsoft Visual Studio 2012 と新しい Fakes フレームワークを使用しています。そして、単体テストを MSBuild と継続的インテグレーション プロセスに追加した後、Fakes 単体テストで ShimNotSupportedException が発生しました。

さまざまなことを試してその問題を調べたところ、これは Resharper 機能からテストを実行した場合、または MSTest を使用してコードで直接実行した場合にのみ発生することがわかりました。これらの例外は、テスト メニュー バーから実行した場合には発生しないため、この機能の設定ファイルを確認することを考えました。

さらに調査した結果、Resharper または MSTest 設定で指定されたコード カバレッジ設定と関係がある可能性があるという記事をいくつか見つけました。これをオフにすると、問題が解決します。MS VisualStudio 2012 の ShimNotSupportedExceptionもその問題に関連しています。

また、MSDN でその問題に関するいくつかの入力を見つけました。これにより、コード カバレッジで何かを行う必要があることが確認されました。 1cda-4692-a242-656b48195327/およびhttp://social.msdn.microsoft.com/Forums/en-US/vstest/thread/bfa792b0-b3fc-4a51-b49d-f7aaf1f2f4b8

それにもかかわらず、コード カバレッジを継続的インテグレーション プロセスに何らかの方法ですぐに実装する必要があり、その部分をスキップすることはできません。この問題に関するアドバイスと、その問題に対する何らかの解決策があるかどうかをここで尋ねています。

すべてのアドバイスをありがとう!

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

code-contracts - Code Contracts、Pex、および「Fake」フレームワークを使用するためのベスト プラクティス/ガイドラインはありますか?

Code Contracts、Pex、および Fake フレームワークを使用するためのベスト プラクティス/ガイドラインはありますか? 3つすべてを組み合わせて利用できる具体的なものを見つけることができません.

0 投票する
5 に答える
13023 参照

c# - Fakes アセンブリでプロジェクトをビルドできません

Peter Provost の記事で説明されているように、アプリケーション プロジェクト (テスト対象のシステム) に対応する Visual Studio 2012 単体テスト プロジェクトに Fakes アセンブリを追加しました。ただし、生成された Fakes コードに未解決の型参照があるため、プロジェクトはビルドされなくなります。

ここで何がうまくいかないのですか?私が知る限り、これは機能するはずなので、Fakes の機能にバグがあるように思えます。

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

visual-studio-2010 - VS2012 Fakes フレームワークでメソッド名の競合を解決する方法

VS2012 Fakes と MSTEST フレームワークを使用して単体テストを行っています。サードパーティの dll があり、それを偽造する必要があります。ただし、Fakes で終了するメソッドと競合するように見えるメソッド (getItemAt(int)) が dll にあります。

コンパイル中に表示されるエラー メッセージは次のとおりです。

エラー 2タイプ 'MyObject.Fakes.ShimList' には、'get_ItemAtInt32' の定義が既に含まれています [D:\Dev\Test\obj\Debug\Fakes\o\f.csproj] D:\Dev\Teste\f.cs 6933 111 テスト

Fakes で作業を続けるためにこのエラーを回避する解決策はありますか?

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

c# - Visual Studio 2012プロジェクトからFakesアセンブリを削除するにはどうすればよいですか?

[偽のアセンブリを追加]参照コンテキストメニューオプションを使用して、偽のアセンブリをVisual Studio 2012 C#単体テストプロジェクトに追加しました。偽物のアセンブリを完全に削除する、つまりプロジェクトへの追加を元に戻す手順は何ですか?

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

c# - HttpContent.ReadAsAsyncを偽造できますか

Microsoft Fakes(Visual Studio 2012)を使用してHttpContent.ReadAsAsync <T>を実装するスタブを作成することは可能ですか?もしそうなら、どのように?

0 投票する
5 に答える
2591 参照

.net - MicrosoftFakesと.Net4.0

新しいFakesフレームワークを使用して、.net4.0フレームワークで実行されている一部のレガシーコードのテストカバレッジを拡大することを検討しています。残念ながら、.net4.5にアップグレードできないようです。.net 4.0(およびVS2012)ではFakesフレームワークを使用できず、代わりに現在サポートされていないMolesフレームワークを使用する必要があると言ったのは正しいでしょうか?