問題タブ [moles]

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 投票する
4 に答える
772 参照

c# - ref 引数を使用してメソッドをモックするための構文

ref 引数を持つメソッドをモックできないという問題があります。モックしたいメソッドのシグネチャは次のとおりです。

私はこのようにそれを嘲笑しようとしました:

しかし、コンパイラは「ref」キーワードが欠落していることを教えてくれますが、このように試してみると

ref が無効な式であるというエラーが表示されます

残念ながら、Google はここでは役に立ちません。:( 何か案は?

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

mstest - テスト ランナーとしての MSTest.exe での moles.runner.exe の使用

MSTest.exe をランナーとして提供して、moles.runner.exe を実行すると、エラーが表示されます。

コマンドラインは次のとおりです。

出力は次のとおりです。

/d (診断モード) を指定して moles.runner.exe を実行すると、次のように表示されます。

アセンブリ名を最初の引数としてテスト ランナーに渡さないように、moles.runner.exe をどのように指示できますか?

0 投票する
3 に答える
470 参照

moles - MolesによるNCoverのサポート

私たちのプロジェクトでは、NCoverを使用してコードカバレッジを測定します。Molesを使用するテストを測定する場合、それらのクラスのコードカバレッジは測定されません(0%)。これは、.NETプロファイラーを使用するMolesとNCoverの両方と関係があります。インターネットで検索した後、コマンドプロンプトで次のことを試しましたが、結果はありませんでした。

後ろの数字COR_PROFILERは、NCover.Lib.x86.dll以前にzippyに登録したGUIDです。またCOR_ENABLE_PROFILING=1、env.varとして追加しても役に立ちません。

このプロファイラーチェーンを機能させた人、または.NETプロファイラーチェーンの経験がある人はいますか?

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

unit-testing - MolesVS2010のWindowsサービスの単体テストが失敗する

私は比較的小さくて単純なWindowsサービスを作成しており、Molesを使用して単体テストをモックしています。コードが小さいため、コードをスタブでセグメント化するのではなく、Molesインストルメンテーションを使用することにしました。moledアセンブリに対して単体テストを実行すると、エラーが発生します。

InitilaizationDetectsMissingMonitorDirectoryが失敗しました:テストメソッドFtpDirWatcher.Test.FileWatcherTest.InitilaizationDetectsMissingMonitorDirectoryが例外をスローしました:Microsoft.Moles.Framework.Moles.MoleInvalidOperationException:

Molesでは、テストをインストルメント化されたプロセスで行う必要があります。

Visual Studio Testで、単体テストメソッドに次の属性を追加します。

[試験方法]

[HostType( "Moles")]//この属性を追加します

public void Test(){...}

「モールは、計装されたプロセスでテストを行う必要がある」とはどういう意味かわかりません。「IN」は、これが通常の「Molesではテストをインストルメント化されたプロセスにする必要がある」ではないことを意味することに注意してください。私はドキュメントを振り返って、見逃したものがあるかどうかを確認しました。私は明らかにまだ重要な何かを見逃しています。

ターゲットアセンブリ( "FtpDirWatcher")は、実際にMolesによってインストルメント化され(MFileWatcherオブジェクトの存在によって証明されます)、テストメソッドに適切な属性が設定されています。ターゲットプロパティをメソッドに変換しようとしても無駄になりました。どうしたの?

これは凝縮されたコードなので、批判はありません!

どんな助けでも大歓迎です!

更新:次のビルド出力を追加しました。上記のコードにビットネス設定を含めて、問題にならないことを示しました。

------再構築すべて開始:プロジェクト:共通、構成:デバッグx86 ------

Common-> C:... \ Common \ bin \ x86 \ Debug \ Common.dll

------再構築すべて開始:プロジェクト:FtpDirWatcher、構成:デバッグx86 ------

FtpDirWatcher-> C:... \ FtpDirWatcher \ bin \ Debug \ FtpDirWatcher.exe

------再構築すべて開始:プロジェクト:FtpDirWatcher.Test、構成:デバッグx86 ------

Microsoft Moles v0.94.51023.0- http: //research.microsoft.com/moles-.NET v4.0.30319

Copyright(c)MicrosoftCorporation2007-2010。全著作権所有。

00:00:00.00>モル

00:00:02.37>モルジェネレータ0エラー、0警告

FtpDirWatcher.Test-> C:... \ FtpDirWatcher.Test \ bin \ x86 \ Debug \ FtpDirWatcher.Test.dll ==========すべての再構築:3成功、0失敗、0スキップ=== =======

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

html-agility-pack - Moles を HtmlAgilityPack で使用する場合の TypeInitializationException

Moles を使用して、別のアセンブリで非静的メソッドをテストしようとしています。[HostType("Moles")] タグなしでテストを実行すると、テストは正常に実行されます。置き換えると、次のエラーが表示されます。

「'HtmlAgilityPack.HtmlNode' の型初期化子が例外をスローしました。」

同じ方法で実行するコード サンプルを添付しました。

どんな助けでも素晴らしいでしょう!

単体テストによって呼び出されるクラス/メソッド

単体テスト

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

unit-testing - DateTime で Moles を使用する

私は単体テストで Moles を使い始めており、ドキュメンテーションに少し苦労しています。

DateTime.Now をほくろしたい。

mscorlib への参照を追加するという古い方法を見回した場合は、そのための stubx ファイルを追加します ([新しい項目を追加] -> [テスト用のスタブとモール])。

'Stubs and Moles for Testing' テンプレートは廃止されました。代わりに、参照を右クリックして [Add moles assembly] を選択するだけで問題ありません。

VS2010 では、mscorlib への参照を直接追加することはできません。"System" への参照があるためです。オブジェクト ブラウザーで DateTime をこの名前空間の一部として表示できるので、これは問題ありません。

システム参照用のモール アセンブリを追加して再構築しても、MDateTime を解決できません。

助言がありますか ?

0 投票する
3 に答える
659 参照

.net - XUnitでのMolesの使用-間違ったdllバージョン

ユニットテストで使用するようにMolesを設定しようとしています。私たちはxunitを使用しているので、私はusingmoles()に付属するXunit拡張機能ですMicrosoft.Moles.Framework.Xunit。ただし、Xunit 1.7を実行しているため、Molesはバージョン1.6.1.1521(を使用FileLoadException)を実行していないと文句を言っています。

Molesマニュアル(28ページ)には次のように書かれています。

xUnit.netバージョン:

1.5.0.1479(他のxUnit.netバージョンの場合、ソースから属性を再コンパイルします)

これは私が立ち往生しているところです-このxunit拡張機能のソースコードはどこかで入手できますか?または、Molesが必要とする特定のバージョンのxunitを使用する必要がありますか?

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

unit-testing - ほくろと SharePoint の行動タイプ

次のコードに問題があります。

エラー: ファイルまたはアセンブリ 'System.Moles, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0ae41878053f6703' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

ソース コードの Behavoir アセンブリを .NET 4 に再構築しようとしましたが、うまくいきませんでした。v0.94を使用しています。

どんな助けでも感謝します。

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

.net - Pex and Moles プロジェクトはまだ活動中ですか?

以前は月に 2 つの新しいバージョンをリリースしていましたが、2010 年 10 月以降、新しいバージョンをリリースしていません。私はこれを見つけまし。しかし、彼らが MSDN のサポート フォーラムを閉鎖したという事実は、プロジェクトが前進しないのではないかと私に思わせます。現在のプロジェクトで使用していますが、手遅れになる前に別のフレームワークに置き換えることを考えています。

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

moles - VS 2010 SP1 で Moles 0.94.51023.0 エラーが発生する

Moles 0.94.51023.0 を使用して VS 2010 SP1 で System.ServiceModel v4 をモール化しようとしていますが、次 のエラーが引き続き発生します。 ' (アセンブリ参照がありませんか?) [my-test-project.Test\obj\Debug\Moles\ssm\mgcsproj] my-test-project.Test\mgcs 293022 43

このインターフェイスは、オブジェクト ブラウザーで検索すると System.ServiceModel.dll v2.0.5.0 (Silverlight) でしか見つからないため、.NET 4.0 の System.ServiceModel.dll から削除されたようです。

これは、moles.exe を使用して cmdline で再現できます。moles ファイルを変更して、指定した型名のみを生成しようとしましたが、違いはないようです。これは、VS2010 SP1 にアップグレードする前は問題なく機能していたので、バグだと思われますが、助けていただければ幸いです。

ありがとうニック