私は次のものを持っています:
- 順番にテストのリストを含む .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;
[TestMethod]
public void TestMethod1()
{
Console.WriteLine("Test Method 1");
Console.WriteLine(url);
}
[TestMethod]
public void TestMethod2()
{
Console.WriteLine("Test Method 2");
Console.WriteLine(url);
}
[ClassInitialize]
public static void ClassInit(TestContext context)
{
url = context.Properties["webAppUrl"].ToString();
}
ClassInit() で NullReferenceException を取得します。