2012-05-03 5 views
0

カテゴリを使用してMSTestで一緒にテストを注文する方法はありますか?カテゴリとMSTest(コンソール)の.orderedtest

[TestMethod, TestCategory("UITest")] 
public void TestMethod() 
{ 
} 

新しいテスト済みテストをテストプロジェクトに追加します。

MSTest.exe /testcontainer:MyOrderedTest.orderedtest 

それはのtestMethodを実行します:

も...のようなコマンドラインからこのメソッドを呼び出します。

が、同じようMSTestをを呼び出すときに、次の

はこれを行う方法がある

奇妙な行動

...

MSTest.exe /testcontainer:MyOrderedTest.orderedtest /category:UITest 

それがのtestMethodを見つけることができませんか..?

答えて

1

/testcontainer:[file name]オプションを使用する場合は、このファイルで指定されているテストを実行するようMSTestに指示します。したがって、属性[TestMethod, TestCategory("UITest")]のユニットテストは、MyOrderedTest.orderedtestの内部に含まれていないため実行されません。

あなたはUITestカテゴリに属している、あなたのテストのすべてを含み、またOrderedTestし、次のコマンドを実行します。この動作を実現するためにTestListを作成することができます。

MSTest.exe /testmetadata:$(ProjectDir)\TestProject.vsmdi /testlist:ListName 
+0

うーん...これは本当にあります不便で柔軟性のない方法..私はそれが動作すると信じて.. testmethodsのalphanumericalyのあなたの名前を定義することによってあなたの順序を並べ替える代替があります.. orderedtestの必要性はもうここには存在しません...私は知らないどちらの方法でもよりエレガントです-_- ' – hagem

+0

オーダーが常に同じ場合は、テストメソッドを英数字で定義するのが良いと思います。しかし、OrderedTestを好むのは、(テストカテゴリに関係なく)必要なテストメソッドのみを定義でき、新しいテストメソッドが追加された場合や既存のテストメソッドが変更された場合に変更する必要がないからです。 – Schaliasos

関連する問題