問題タブ [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.
.net - ネットワーク接続を単体テストする方法は?
以下のコードを単体テストしたい。私は MSTest を使用しており、Microsoft MolesとRhinoMocksを学ぼうとしました。しかし、私は彼らのどちらにも私を助けさせることができませんでした。コードを大幅に変更して、よりテストしやすいインターフェイスを使用できることはわかっていますが、TcpClient、NetworkStream、StreamWriter、および StreamReader をカプセル化するインターフェイスと実装をコーディングする必要があります。
私はすでにこのための統合テストを書いており、ほくろに精通している人なら、コードを変更せずにこれの単体テストを非常に簡単に行うことができると思います。
moles - Moles スタブを生成する
私は Pex と Moles を初めて使用し、パラメーター化された単体テストを利用したいと考えています。コンストラクター インジェクションを使用しており、パラメーターのモル スタブを作成したいと考えています。
私が読んだドキュメントによると、Moles は SIUserRepository のリポジトリのスタブ タイプを生成します。しかし、スタブを生成する方法がわかりません。誰でも例を提供できますか。ありがとう
visual-studio-2010 - Visual Studio - Moles ファイルを検索から除外する
Visual Studio では、検索と置換のダイアログで検索するファイルの種類を指定できることは知っていますが、これは一般的にうまく機能します。ただし、生成されたほくろファイルのパスは「mgcs」で終わります。.cs ファイルを検索すると、これらも検索されるため、検索結果に大量のノイズが生成されます。検索と置換で「*mgcs」に一致するファイルを無視するように指定する方法はありますか?
.net - InternalsVisibleTo を持つほくろは、「アセンブリ参照が無効です」という警告を作成します
もう 1 年、ほくろについての別の質問です。単体テストに使用するテスト プロジェクトに組み込みたい内部シール クラスを含むアセンブリがあります。
Molesのドキュメントによると、追加する必要があります
属性を追加して、テスト プロジェクトから内部クラスにアクセスできるようにします。ただし、「MyAssembly」は強力に署名されているため、残念ながらこれは機能しません。
したがって、ドキュメントに従って、公開鍵を上記の行に追加した結果、
残念ながら、「MyAssembly」をコンパイルすると、次のエラーが発生します。
アセンブリ参照 'MyMoles.Moles, PublicKey=0123456...' は無効であり、解決できません
ドキュメントには、「... Moles フレームワークは常に同じキーを使用してアセンブリに署名する...」と書かれていますが、コンパイラが言うように、これは機能しません。また、生成されたファイル「MyAssembly.Moles.dll」をReflectorでチェックして、正しい公開鍵を使用していることを確認しました(私はそうしています)。
何か案は?
tfs - ビルドサーバーでMolesdllを解決できなかったという警告
ソリューションの一部のテストでは、モル0.94を使用しています。ただし、最初にコンパイルされるたびに、ビルドサーバーはいくつかの警告を発します。
私の理解では、ビルドサーバーはビルドを開始する前にテストプロジェクトのすべての参照を解決しようとし、molesassemblyフォルダーの下にmoles dllが見つからない場合(最初は空であるため)、上記のような警告。
ただし、msbuildがこのテストプロジェクトのビルドを開始すると、Moleアセンブリが生成され、Moleassembliesフォルダーにコピーされるため、エラーにはなりません。
要約すると、初めてビルドが部分的に成功し、次回のビルドは完全に成功します。
ビルドサーバーに警告が表示されないようにしています。ビルドサーバーでこの警告を排除する方法はありますか?
moles - pex と mol による単体テストと DB 分離
データベース呼び出しが多い VS winforms プロジェクトがあります。
ユニットテストを作成するたびに、メソッドの数が増え、消費に時間がかかり、ユニットテストプロジェクトの数が増えます。
DB 呼び出しを分離するにはどうすればよいですか、または Microsoft の mol と pex を使用すると DB 呼び出しを分離できますか? ほくろとペックスのサンプルは非常に役立ちます。
c# - テストのホストタイプが「Moles」の場合、構成ファイルの情報にアクセスできません
単体テストのホストタイプが「Moles」の場合、単体テストを介して.net構成ファイル(app.configやweb.configなど)の情報にアクセスする際に問題が発生します。それはかなりの頭痛の種を引き起こしているので、誰かが何ができるかについての考えを持っていることを願っています。
Visual Studio 2010を使用していますが、これはVS 2010 SP1がインストールされているマシン、SP1がインストールされていないマシン、および32ビットと64ビットのマシンで試したと思います。
私は、テストを最も単純な用語に減らす自由を取りました。この問題は、次の2つのファイルで構成される単体テストプロジェクトを作成し、コメント行のみのコメントを解除してからテストを実行することで再現できます。テストはホストタイプがなくても機能しますが、Molesをホストタイプとして導入すると、テストのnullアサーションは失敗します。理由はわかりません。
まず、構成ファイルApp.config:
次に、単一のテストを含むテストクラス:
誰かが何か洞察を提供してくれたらありがたいです。
どうもありがとう、
ニック
mstest - NativeMethods.cs のモグラ クラスはありませんか?
すべての extern メソッドを含む NativeMethods.cs という名前のクラスがあります。
このクラスを含むアセンブリには、対応する .Moles ファイルがあります。アセンブリに含まれる他のすべてのクラスは、このクラスを除いて適切に成形およびスタブできます。
MNativeMethods
迂回に使えるものはありません。クラス名「NativeMethods」に対する特別なケースはありますか (ほとんどありません)? それとも extern メソッドに対する特別なケースですか?
code-coverage - Microsoft Moles Framework はコード カバレッジを生成しますか
Moles を使用した簡単なテスト プロジェクトがあり、テスト設定でフラグをチェックしてコード カバレッジを作成しましたが、Moles テストはコード カバレッジを生成しません。
私はペックスを使用していません。
Microsoft Moles Framework はコード カバレッジを生成しますか?
ありがとう
moles - MSDN Moles チュートリアルをビルドするにはどうすればよいですか?
珍しい質問があります。MSDN フォーラムでの 6 か月前の質問に対する元の投稿者自身の回答を理解するのに助けが必要です。
OPはStackOverflowについてさらに質問するように言われたので、OPに答えを明確にするように頼む意味はありません。このフォーラムで少しでもお役に立てれば幸いです。フォーラムのルールやエチケット ルールに違反していないことを願っています。
投稿から関連するスニペットを時系列でコピーして貼り付けます。
[OP] Microsoft Moles を使用した単体テストのチュートリアル ( http://research.microsoft.com/en-us/projects/pex/molestutorial.pdf ) に従っていますが、タスク 2: コードの作成のステップ 5 で行き詰っています。生成されたスタブ。SIFileSystem を解決できません (見つからないためコンパイル エラー)。
【OP】やっとコンパイルするプログラムができました。しかし、他の誰かがこの投稿につまずいて同じ問題を抱えている場合に備えて、私がしたことは次のとおりです。 - StubsTutorialTest プロジェクトで、mscorlib.moles を開きます。 - アセンブリ名を「mscorlib」から「StubsTutorial」に変更します。モル - ビルド (これにより、参照に StubsTutorial.Moles が追加されます) - UnitTest.cs に "using StubsTutorial.Moles" を追加します "var fs = new SIFileSystem();" でエラーが見つかりません なくなっている。
[MSDN モデレーター] 次に問題が発生した場合、Peli とその他の Pex および Moles 開発チームは、Stack のフォーラムを監視する傾向があります。
https://stackoverflow.com/questions/tagged/pex-and-moles
[私に戻る]
だからここに私の質問があります:
StubsTutorialTest プロジェクトで、mscorlib.moles を開きます。
mscorlib.moles は、チュートリアルでは決して言及されていません。とにかく、どうすれば DLL を開くことができますか?
(実際には、Moles のダウンロードに "mscorlib.moles.dll" があります。)
アセンブリ名を「mscorlib」から「StubsTutorial」に変更します
私の「StubsTutorial.csproj」には、「mscorlib」についての言及はありません。私は次の行を持っています:
スタブチュートリアル
mscorlib.moles の名前を StubsTutorial.moles に変更します
「mscorlib.Moles」を参照として追加し、名前を変更する必要があるということですか? それは可能ですか?
助けてくれてありがとう。