問題タブ [vstest.console.exe]
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.
vstest.console.exe - .runsettings ファイルが指定されている場合、orderedtests が vstest.console.exe で機能しない - MS テスト
私は次のものを持っています:
- 順番にテストのリストを含む .orderedtest ファイル
- いくつかのテスト パラメーターを指定した .runsettings ファイル
次のコマンドを使用して、コマンドラインからテストを実行しようとしています。
vstest.console.exe MyOrderedTests.orderedtest /Settings:MyTestParameters.runsettings /TestCaseFilter:"TestCategory=Production" /Logger:trx
以下の警告が表示され、テストは実行されません。
警告: MyOrderedTests.orderedtest にはテストがありません。インストールされているテスト ディスカバリーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認してから、再試行してください。
本当に助かりました!
VS IDE を介してテストを実行しようとさえしました。さらに詳しく説明すると、次のようになります。 1. 2 つのテストがあります。 2. .runsettings ファイルから TestRunParameters にアクセスする Class Initialize があります。3. テストで TestRunParameter を出力します。4. テストを個別に実行しますが、一度に実行しても問題なく実行されます。
ここで、.orderedtest ファイル 1 を使用してテストの順序付けを紹介します。この Orderedtest ファイルを使用してテストを実行すると、クラスの初期化 (.runsettings ファイルから TestRunParameters にアクセスしようとする場所) で NullReferenceException が発生します。
クラス初期化メソッド TestTestProject.UnitTest1.ClassInit が例外をスローしました。System.NullReferenceException: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません..
以下は、私の簡単なサンプル テスト コードです。
公開静的文字列 URL;
ClassInit() で NullReferenceException を取得します。
visual-studio-2015 - VS2015 SP1 のコマンド ラインから一般的な NUnit テストを実行する
問題: Visual Studio 2015のSP1をインストールした後、コマンド ラインから汎用テストを実行できません。
コマンドラインと出力は次のとおりです。
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "S:\Tests\MyTests.dll" "/Settings:S:\Tests\MyTest.runsettings" "/ListTests:S:\Tests\MyTests.GenericTest" /InIsolation /Enablecodecoverage /Logger:Console
一般的なテストの実行
コマンドライン引数付き
vstest.console.exe は次の出力を返します。
Visual Studio 2015 の SP1 をインストールする前は、すべて正常に動作していました。テスト結果とコード カバレッジを取得しました。
c# - vstest.console を使用して名前空間に基づいてテストを実行する
私は MsTest.exe を使用して、次のような名前空間を使用してテストを実行しています。
mstest.exe /testcontainer:"MyDllFile.dll" /test:"NameSpace.Folder.Folder1.*"
これは魅力的に機能しましたが、実行時にパラメーターをテストに渡すことができるようにする必要があったため、*.runsetttings ファイルと、RunTestParameters を使用してテストにパラメーターを渡し、TestContext のプロパティからそれらを取得する機能を見つけましたが、欠点は、実行したいテストについて非常に具体的にする必要があり、以下に示すように、テストを実行するために特定のメソッド名またはコンマで区切られた名前を指定する必要があることです。
vstest.console.exe "MyDllFile.dll" /Settings:"my.runsettings" /Tests:"TestMethod1,TestMethod2"
私も運がない TestCaseFilter を試しました:
vstest.console.exe "vstest.console.exe "MyDllFile.dll" /Settings:"my.runsettings" /TestCaseFilter:"TestCategory=MyTestCategory"
vstest.console.exeを使用してmstest.exeで実行できたことをどのように達成できるかについて、誰か提案がありますか?
ありがとう!!
c++ - VSTest.console ネイティブ C++ 単体テストを属性でフィルター処理する
現在、次の問題が発生しています。
Visual Studio 2015 に含まれているネイティブの Microsoft 単体テスト フレームワークを使用して、単体テストをネイティブの C++ アプリケーションに導入しましたMicrosoft::VisualStudio::CppUnitTestFramework
。
ビジュアル スタジオ内でユニット テストを開始するには、画像 1 に示すように を使用します。 (画像 2 に示すように) にa をTest-Explorer
追加することで、属性による並べ替えとフィルター処理が可能になります (画像 3 に示すように)。method attribute
Test-Method
Test-Explorer
これはすべて問題なく動作します。これらの単体テストを継続的インテグレーション システム (CI) に実装しようとしたときに、問題が発生し始めました。
Unit-Tests をコンソールから開始するvstest.console.exe
には、次の場所にある を使用しますC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
。公式ドキュメントはここにあります。
次のスクリーンショットは、コンソールを使用したときにテストがどのように成功するかを示しています。
ロガーを追加してファイルを .trx に出力することもうまく機能します。ただし、フィルターを適用して特定の属性を持つテストを決定することは機能しません。/TestCaseFilter:
ドキュメントによると、 -switchを使用すると、そのようなことが可能になるはずです。ただし、次のスクリーンショットは結果のエラーを示しています。
「無効なプロパティ ( TakesLong ) が 1 つ以上含まれているため、フィルターに一致するテストはありません。有効なプロパティ (TestCategory、Priority、FullyQualifiedName、Name) を含むフィルター式を指定して、再試行してください。」
誰かがこの問題を知っているか、それを修正する方法を知っていますか? 最終的な目標は、特定のテストを除外できるようにすることです (非常に時間がかかる/ハードウェア ドングルが必要など)。
宜しくお願いします、LorToso
unit-testing - vstest.console.exe は同じテストを複数回実行します
これは、指定したライブラリからすべての NUnit テストを実行するために使用するコマンドです
vstest.console.exe "PATH_TO_REPOSITORY\Tests\terminalBaseTests\bin\debug\terminalBaseTests.dll" /logger:trx /TestAdapterPath:"PATH_TO_REPOSITORY"
この dll には 27 個のテストが含まれていますが、何らかの理由で 3 回起動され、81 個のテストに合格したというメッセージが表示されます。
visual-studio-2015 - TeamCity が MSTest.exe または vstest.console.exe を開始できない
teamcity MyTeamCity のバージョンが 9.1 で、Visual Studio 2015 を使用して単体テストを実行しようとすると、このエラーが発生します。MSTest.exe または vstest.console.exe の名前を変更すると、ファイルの検索に関する別のエラーがスローされます。また、コマンド ライン経由でテスト dll を使用して MSTest.exe と vstest.console.exe を実行できるため、問題はプロジェクト バージョンに関するものではないと思います。Visual Studio 2013 テスト エージェントをインストールしようとしましたが、MSTest.exe を実行しようとしたときに同じエラーが発生しました。
これがうまくいく方法:
vstest.console.exe を使用しようとすると、次のエラーが表示されます。
一方、これはコンソール経由で正常に機能します。
jenkins - vstest.console.exe が分離モードに関する警告を突然表示するのはなぜですか?
vstest.console.exe を使用して Jenkins サーバーでテストを実行しています。突然、ワークスペースの内容が変更されていない 2 つのビルドの間に、分離モードで実行されていることが報告されます。
runsettings ファイルに変更はありません。
実行の間にサーバーが再起動された可能性があります。これを引き起こしている vstest.console.exe 関連の更新があった可能性はありますか? デフォルトの runsettings ファイルに変更はありますか?
また、/Codecoverage スイッチを使用せずにテストを実行してみました。DataCollectors を空にして削除した .runsettings ファイルを指定しようとしましたが、それでも恐ろしい分離モードが発生します。
c# - vstset.console.exe アセンブリの解決に失敗する
私は参照されている を持っていUnitTests.dll
ますCommon.dll
(どちらも VS2015 でビルドされています)。
次のディレクトリ構造があります。
UnitTests.runsettings
内容は次のとおりです。
テストを呼び出します。
vstest.console.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe を指します。
次のエラーが表示されます。
さらに、Fusion Log を有効にした場合:
ある種のキャッシングの問題に直面していますか? vstest.console.exe
内部の依存関係を探すように説得するにはどうすればよいですかC:\Bin\
(理論的に要素によって指摘されているようにAssemblyResolution
)?
アップデート:
接続時にバグとして MSFT に送信されました (再現手順 - 下部の [詳細] タブの下)。
アセンブリ解決の既存の制限、および属性の使用の強制は、DeploymentItem
まったくスケーリングしません。冗長なメンテナンス コスト (開発者が、単体テストを実行するために必要な依存関係を手動で追跡する必要がある場合) は、テストに摩擦をもたらします。その摩擦の結果として現れる問題は、トラブルシューティングが非常に困難です。