問題タブ [test-explorer]

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 に答える
123 参照

unit-testing - Visual Studio のテスト ディスカバリが、参照された DLL 内のテストを取得しない

単一のテストを含むローカル nuget パッケージがあります。テストは [TestClass] で装飾され、そのテスト メソッドは [TestMethod] です。

これが nuget パッケージである理由は、参照されているアセンブリで t4 変換が発生したことをテストするために、このテストが任意のテスト プロジェクトに取り込まれるためです。t4 テンプレートはクラスを動的に生成します。テストを実行して、t4 テンプレートが実行されたことを確認します (リフレクションを使用して、生成されたクラスに期待されるメソッドがあることを確認します)。

nuget パッケージを参照すると、Visual Studio テスト エクスプローラーにテストが表示されません。私は、VS がアセンブリ内の型を反映してテスト リストを作成したという印象を受けましたが、それは間違った仮定のようです。

テストを検出するために不足している構成設定または何かがありますか?

ありがとう、ジェイソン

0 投票する
0 に答える
528 参照

c++ - VS2015 で CppUnitTestFramework を使用して exe ファイルをテストする

CppUnitTestFramework を既存の C++ MFC プロジェクト (グラフィカル ユーザー インターフェイスを備えた exe ファイル) を使用して Visual Studio 2015 で動作させるために、私は一日中取り組んできました。

「テストをオブジェクトまたはライブラリ ファイルにリンクするには」や「同じプロジェクトに単体テストを追加するには」など、この MS ガイドからさまざまなことを試しています: https://msdn.microsoft.com/en-us/ライブラリ/hh419385.aspx

「同じプロジェクトに単体テストを追加するには」の場合、同じソリューションに新しい単体テスト クラスを追加しただけです。プロジェクトをコンパイルすると、単体テストは正常にコンパイルされますが、[テスト エクスプローラー] には表示されません。

また、「テストをオブジェクトまたはライブラリ ファイルにリンクするには」の場合、同じソリューションに新しい単体テスト プロジェクトを追加しました。ユニット テスト プロジェクトは最初から正常に動作し、サンプルのユニット テスト メソッドが [テスト エクスプローラー] に表示されます。しかし、他のプロジェクトからすべての OBJ ファイルを追加すると ([リンカー] > [入力] > [追加の依存関係] の下に追加)、他のプロジェクトで使用されるいくつかの LIB ファイルも同じ場所に追加されます (合計で約 360 の obj および lib ファイル)。 )。また、パスは [Linker] > [General] > [Additional Library Directories] の下に追加されます。その後、すべてが正常にコンパイルされますが、サンプルの単体テスト メソッドが [テスト エクスプローラー] から消えます。[リンカー] > [入力] > [追加の依存関係] からすべてを削除すると、サンプルの単体テスト メソッドが [テスト エクスプローラー] に再び表示されます。

私のプロジェクト設定はここで見ることができます。

既存のプロジェクトをテストするために「テスト エクスプローラー」にテスト メソッドを表示できないため、何が問題なのか考えている人はいますか?

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

visual-studio - C# ソリューションの Visual Studio ビルドによって生成される $RANDOM_SEED$ ファイルは何ですか?

特定の開発マシンで、C# ソリューションの Visual Studio (2015 update 3) デバッグ ビルドが、ビルドされたすべての DLL とともに $RANDOM_SEED$ ファイルを生成していることに気付きました。

ファイルの内容は単一の数字です。 1443972318

ファイルを削除してから再構築すると、ファイルが別の番号で再生成されました。

この動作は、ソリューション内の単一のプロジェクト (標準 C# プロジェクトの参照/依存関係 + System.Management のみを持つプロジェクト) を再構築するときにも観察されました。

たとえば、コマンド ライン ビルドを実行して もファイルが再生成されないmsbuild <sln-file> ことに注意してください(完全なソリューションまたは単一プロジェクトのビルドの場合)。

VS の再起動後、ファイルは再生成されなくなります。

私たちが知る限り、このファイル名は、ソース コード、ビルド後の手順、または内部依存関係のいずれにも使用されていません。.NET フレームワーク クラスには、Random や RNGCryptoServiceProvider などのかなりの数の依存関係と、外部の依存関係があります。これらすべての完全なソース コードがないため、依存関係のいずれが原因であるかを徹底的に確認することはできません。

これは暗闇でのちょっとしたショットですが、質問は、これに似たものを見た人はいますか?

編集 これが反対票を投じられたことに驚かない-私はそれがかなりオープンエンドであることを感謝しますが、現在これを再現することができず、潜在的に深刻な結果をもたらす可能性があるため(乱数ジェネレーター攻撃?)とにかく投稿しました. 再現できれば、もちろんここで更新します。