2016-05-31 3 views
2

テストデータを取り込むテストがあります。 nunitコンソールアプリケーションを使用してテストを実行する場合、使用するデータを指定する方法はありますか?特定のデータでnunitテストを実行する

例:

[Test, TestCaseSource(typeof(TestData))] 
public void ATest(string param1, int param2) 

public class TestData : IEnumerable 
{ 
    public IEnumerator GetEnumerator() 
    { 
     yield return new object[] { "blah1 blah1", 1}; 
     yield return new object[] { "blah2 blah2", 2}; 
    } 
} 

私は唯一のテストデータ[ "blah2 blah2"、2]でATESTを実行できるようにしたいです。私が次のように実行すると:

nunit3-console.exe Tests.dll --test=ATest --workers=1 --noresult 

これは2回実行されます。

答えて

0

https://github.com/nunit/docs/wiki/TestCaseDataちょうど実行...

nunit3-CONSOLE.EXE Tests.dll ATEST --test( "blah2 blah2"、2)

または

nunit3-console.exe Tests.dll - "test〜= blah2"

この文字列がすべてのテストに固有のものである場合。

ご使用のオペレーティングシステムによっては、最初に引用符をエスケープする必要があることに注意してください。

0

これを行う1つの方法は、代わりにTestCaseDataオブジェクトを返すことです。

このような何か:(未テストなので、構文は少しオフになるかもしれません!)最初のテストを実行するには、あなたは、コマンドライン使用します

[Test, TestCaseSource(typeof(TestData))] 
public void ATest(string param1, int param2) 

public IEnumerator GetEnumerator() 
{ 
    yield return new TestCaseData("blah1 blah1", 1).SetName("FirstTest"); 
    yield return new TestCaseData("blah2 blah2", 2).SetName("SecondTest"); 
} 

:によって

nunit3-console.exe Tests.dll --test=YourNameSpace.ATest.FirstTest --workers=1 --noresult 

を何あなたがやっている、カテゴリを設定するよりも、名前より適している可能性があります。ドキュメントのページには、利用できるものを示しています

関連する問題