テストを特定の形式のテキスト ファイルに一覧表示し、それを vstest.console.exe にフィードすることができます。ファイル名が mytests.orderedtest であると仮定します。
vstest.console mytests.orderedtest
mytests.orderedtest は特定の形式でなければなりません。Visual Studio からこのようなテストを作成する簡単な方法があり、その内容を確認できます。
まず、Visual Studio のソリューション エクスプローラーでプロジェクトを右クリックし、[追加/順序付けされたテスト] を選択します。これにより、テストを追加できる優れた UI を備えた、orderedtest ファイルが作成されます。したがって、リストからテストを選択します: Test1、Test2。これにより、次のようなファイルが作成されます。
<?xml version="1.0" encoding="UTF-8"?>
<OrderedTest name="mytests" storage="c:\src\MyTests\MyTests.orderedtest" id="ed4d22c5-ab9a-4ebd-954f-65ac4c034338" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestLinks>
<TestLink id="14c6766b-c22b-130a-ddb0-53d5ddd6eb1d" name="Test1" storage="..\bin\debug\MyTests.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<TestLink id="24c6766b-c22b-130a-ddb0-53d5ddd6eb1d" name="Test2" storage="..\bin\debug\MyTests.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestLinks>
</OrderedTest>
これを Visual Studio の外部で手動で作成する場合は、id 属性の GUID が重要であることに注意してください。これは、同じ名前のテストを異なる完全修飾クラス名で区別する唯一の方法です。つまり、id は名前空間 + クラス + メソッドから構成されます。この記事で説明しています: http://blogs.msdn.com/b/aseemb/archive/2013/10/06/how-to-create-an-ordered-test-programmatically.aspx
完全修飾メソッド名をこれらの GUID のいずれかに変換するルーチンを次に示します。
// convert the test (<Name space name>.<class name>.<test method name>) to a GUID
static Guid GuidFromString(string data)
{
SHA1CryptoServiceProvider provider = new SHA1CryptoServiceProvider();
byte[] hash = provider.ComputeHash(System.Text.Encoding.Unicode.GetBytes(data));
byte[] toGuid = new byte[16];
Array.Copy(hash, toGuid, 16);
return new Guid(toGuid);
}