問題タブ [pex-and-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.
unit-testing - HostType("Moles") で ConfigurationManager.AppSettings を読み取ることができません
HostType が Moles の場合、ConfigurationManager.AppSettings 経由でデータを取得できません
2〜3か月前に私にとってはうまくいきました。しかし、それは機能せず、すべてのテスト ケースが失敗しました (null 参照例外が発生しました)。
修正するのを手伝ってください。ありがとう。
moles - キー「モグラ」が見つかりません
ソリューションの単体テスト プロジェクトを作成し、Moles を使用してすべてのデータ読み取りを迂回しています。今日、すべてのテストを開始すると、最終的に「ホストタイプ "Moles" をロードできません: キー 'Moles' が見つかりません」というエラーが表示されました。属性 HostType("Moles") を含むすべてのテスト。
Moles を 3 か月前から使用していますが、このような問題は一度も発生したことがないため、問題の原因がわかりません。
ありがとう!!!
c# - ほくろと内部クラス
現在、Moles を使用して、サードパーティのライブラリとやり取りするコードをテストしています。ライブラリはテスト用にうまくセットアップされていませんでした (したがって、モグラが必要です)。具体的な実装は、サードパーティ ライブラリの内部にあります。
私が直面している問題は、パブリック型のインスタンスを作成しようとすると、モルから具象型が要求されますが、モルは内部であるため、これらの型のモル オブジェクトを生成しないことです。
モルのドキュメントの下で、内部を公開する方法は、AssemblyInfo.cs ファイルに InternalsVisibleTo 属性を追加することです。ただし、これは、モグラが使用できるようにアセンブリの内部を公開するためのものです。これらは既に作成されたアセンブリを含むサードパーティのライブラリであるため、モグラが使用できるようにこれらの内部を表示する方法がわかりません。
とにかく、これに関する助けは素晴らしいでしょう。それが唯一の解決策である統合テストで解決しますが、その点に行く必要がないことを願っています。
tdd - Moling System.dll
System.Net.WebClient
で を使用しているメソッドを単体テストする必要がありSystem.dll
ます。を Mole しようとしましたSystem.dll
が、プロジェクトをコンパイルして Mole への参照を追加しようとするとSystem.dll
、次のような一連のエラーが発生しました。
エラー 2
'System.Net.Moles.SFileWebResponse.Dispose(bool)': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\ DGALib.IO.Tests\mgcs 251374 33 DGALib.IO.Tests
エラー 3
'System.Net.Moles.SFileWebResponse.SupportsHeaders': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\DGALib.IO .Tests\mgcs 251575 30 DGALib.IO.Tests
エラー 4
'System.Net.Moles.SHttpWebResponse.Dispose(bool)': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\ DGALib.IO.Tests\mgcs 255264 33 DGALib.IO.Tests
エラー 5
'System.Net.Moles.SHttpWebResponse.SupportsHeaders': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\DGALib.IO .Tests\mgcs 255465 30 DGALib.IO.Tests
エラー 6
'System.Net.Moles.SWebResponse.Dispose(bool)': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\ DGALib.IO.Tests\mgcs 303123 33 DGALib.IO.Tests
エラー 7
'System.Net.Moles.SWebResponse.SupportsHeaders': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\DGALib.IO .Tests\mgcs 303324 30 DGALib.IO.Tests
エラー 8
'System.Net.Moles.SFileWebResponse.Dispose(bool)': オーバーライドする適切なメソッドが見つかりません [C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\s\mgcsproj] C:\DGALibrary\ DGALib.IO.Tests\mgcs 251374 33 DGALib.IO.Tests
そして最後に
エラー 28
コマンド ""C:\Program Files\Microsoft Moles\bin\moles.exe" @C:\DGALibrary\DGALib.IO.Tests\obj\x86\Debug\Moles\moles.args" はコード -1002 で終了しました。DGALib.IO.Tests
ほくろはできませんsystem.dll
か?
.net - ビルド サーバーで Moles を実行する - コード生成をスキップする方法はありますか?
Moles 0.94 を実行して、サードパーティのアセンブリで特定の型をスタブ化します。そうしないとテストが困難になります。ローカルでうまく機能し、テストに合格し、ソリューションが正常にコンパイルされます。初めてコンパイルするときは、モール アセンブリを生成するため (\molesassemblies というサブフォルダーにそれらを配置するため)、かなり時間がかかりますが、その後ははるかに高速です。moles は次のように出力します。
問題は、毎回ワークスペースを再同期 (破棄) するビルド サーバーでこの動作をどのように模倣するかということです。これは可能ですか?(現在、TFS 2010 をビルド サーバーとして使用しています)。
単純に \molesassemblies\ というプロジェクト サブフォルダーの内容をチェックインしようとしましたが、ソリューションのコンパイル中に msbuild が moles フレームワークを呼び出したときに、アセンブリが既にそこにあることを認識してコード生成をスキップすることを期待していました。しかし、それだけではうまくいかないようでした。フレームワークは、コードを再生成する必要があると考えたようで、チェックインされたアセンブリが読み取り専用であると不平を言いました。
これを機能させるために私ができることについてのガイダンスをいただければ幸いです。
ありがとう。
compact-framework - Microsoft Moles は .NET Compact Framework をサポートしていますか?
現在、.NET Compact Framework 2.0 を使用する WinCE ベースのアプリケーションの単体テストに取り組んでいます。
Moles Framework は .NET Compact Framework 2.0 をサポートしていますか? そうでない場合は、誰かが .NET Compact Framework をサポートする別のモック フレームワークを提案できますか?
moles - Moles が一部の関数のデリゲートを生成しない理由は何ですか?
一部のインスタンス メソッドでは、Moles がデリゲートを生成しないという厄介な問題があるようです。
正確なメソッドを示す代わりに(ただし、これは Web サービス プロキシ メソッドであり、パラメーターの前に無数の属性が付加されていることを示します)、代わりに、タイトルから前述の質問を提示します。
Moles が一部のメソッドのデリゲートを生成しない理由は何ですか??
この問題とほとんど関係のないマニュアルで気付いた唯一のことは、生成されたアセンブリにパラメーターが表示されない場合、プライベート メソッドが尊重されるデリゲートを生成しないという言及です。パブリック プロキシ Web サービス メソッドに問題があることを考えると、デリゲートが生成されない理由は他にもあるはずです。
よろしくお願いします。
moles - Pex & Moles - 依存性注入
私はPexとMolesが初めてです。コードで Pex を実行しようとしていますが、コンストラクター インジェクションを使用しています。コンストラクターを注入する方法を Pex に指示する方法はありますか?
編集
スタブ userRepository を挿入する必要があります。_userRepository.GetById(id) が呼び出されると、Pex が NullReferenceException で失敗します。単体テストにMoqを使用していますが、pexとmolesに切り替えたいです
スタブの作成に PexFactories を使用する必要がありますか?
.net-4.0 - Visual Studio 2010 SP1 で Microsoft.Moles.Framework.dll を参照できません
実際、私はすでにこの問題を解決しましたが、この問題の解決方法にはまだ満足していません。
VS2010 SP1 を使用していますが、Azure SDK を使用するには SP1 が必要です。
まず、Pex と Moles をインストールすると、System.XML.dll で何らかの問題が発生しました。すべてのプロジェクトの参照から消えました。明示的に見つけて、それを使用するすべてのソリューションに接続する必要がありました。
また、モグラ自体にも大きな問題がありました。TestProjects は Microsoft.Moles.Framework.dll を見つけることができませんでした。そして、あらゆる種類のエラーが発生しました。
[参照の追加] ダイアログで Microsoft.Moles.Framework への参照を追加しようとすると、次のメッセージが表示されました。
解決策は、C:\Program Files\Microsoft Moles\PublicAssembliesSilverlight に Microsoft.Moles.Framework.dll への参照を明示的に追加することでした。その後、これまでのところすべて正常に動作しています。
この情報が誰かの役に立てば幸いです。
.net - Molesがリダイレクトできるメソッドを持つクラスはどれですか?
Molesを使用してリダイレクトするサンプルを見たことがありますDateTime.Now
が、リダイレクトしようとすると、対応するものをIntellisenseに表示System.Net.Sockets.TcpClient.GetStream
できませんでした。MTcpClient
Molesがリダイレクトできるクラスの数に制限はありますか?見逃したステップはありますか?