從nunit3控制檯執行測試有問題。我需要傳遞參數給TestFixture的構造函數,但是我想調用一個特定的Test。 在我的夾具中,我有兩個不同的構造函數和一個沒有參數的方法。現在我把這個CDM:從nunit3控制檯傳遞參數到TestFixture構造函數,而不是TestMethod
- nunit3控制檯--params用戶名= U1;密碼= P1 --test namespace.class.Test1 Tests.dll
我認爲,現在的NUnit試圖通過這2個參數,以我的測試,但我想將它傳遞到構造函數,它有
- [TestFixtureSource(typeof運算(TestFixtureSource), 「GetParameters」)]
當我使用--where「class ='TestFixtureClassName'」來調用cmd時,「子句參數被傳遞到testfixture的構造函數中,但它會在該fixture中運行所有測試。
在示例
namespace TestNamespace
{
[TestFixtureSource("GetTestFixtureSource")]
public class TestFixture
{
private int _a;
private int _b;
TestFixture()
{
_a = 8;
_b = 10;
}
TestFixture(int a, int b)
{
_a = a;
_b = b;
}
[Test]
public void Test()
{
//test1 body
}
[Test]
public void Test2()
{
//test2 body
}
[Test]
public void Test3()
{
//test3 body
}
}
}
現在,在命令提示我把這種行:
- nunit3控制檯--params A = 80; B = 100 --test TestNamespace.TestFixture .Test Tests.dll
此行的結果是硒試圖找到具有2個參數的測試方法。但是當u調用NUnit控制檯這樣的:
- nunit3控制檯--params A = 80; B = 100 --where類= '的TestFixture' Tests.dll
它發現合適的構造有2個參數並且調用它,但是在這個Fixture裏面運行所有的測試。 現在,我想要實現的是運行單個測試,但將-params傳遞給TestFixture的合適構造函數。
希望我現在更清楚地爲你呈現它。
是否有一個原因,你想用參數而不是app.config文件做到這一點? – mjwills
我從沒有參數的visual studio運行這個測試,但它們也是由TestComplete的cmd運行的,在兩個不同的數據庫,兩個不同的URL(它們是爲每個用戶個性化) – ozyrys1994