我有這個問題與Visual Studio的測試資源管理器:能不能找到一種方法來選擇測試,我需要運行:組測試類名和方法名
我有很多用TestCaseSource
作爲測試瀏覽器在許多測試中翻譯的輸入數據進行測試,因此對於單一測試方法,我可以有20-30個條目。當我開始在我的課堂上進行多項測試時,選擇單一方法的所有條目是一種痛苦
我知道我可以使用Traits
,但它們不是呈現爲層次結構,也不是在類別分組下嵌套。
現在我有僅2在一個類中的方法,這是結果:
,其中,選擇所有情況下爲一個單一的方法是痛苦的,傾斜的圖像的在端部的情況時,我可以甚至這樣的20個方法
是否有任何方法按項目對測試進行分組,然後按類,然後按方法進行分組,而無需爲每個測試編寫一個類?
完整的信息,這是我的代碼
public class TestCase
{
public static IEnumerable TestCasesIsNumerico
{
get
{
yield return new TestCaseData("12").Returns(true);
yield return new TestCaseData("123456789").Returns(true);
yield return new TestCaseData("1,2").Returns(true);
yield return new TestCaseData("1.2").Returns(true);
yield return new TestCaseData("1.000,12").Returns(true);
yield return new TestCaseData("1,000.12").Returns(true);
yield return new TestCaseData("1.000.000").Returns(true);
yield return new TestCaseData("1,000,000").Returns(true);
yield return new TestCaseData("1.000.000.000.000").Returns(true);
yield return new TestCaseData("1,000,000,000,000").Returns(true);
yield return new TestCaseData("1.000.000,00").Returns(true);
yield return new TestCaseData("1,000,000.00").Returns(true);
yield return new TestCaseData("a").Returns(false);
yield return new TestCaseData("a120").Returns(false);
yield return new TestCaseData("12a0").Returns(false);
yield return new TestCaseData("120a").Returns(false);
yield return new TestCaseData("01").Returns(false);
yield return new TestCaseData("1.1.1").Returns(false);
yield return new TestCaseData("1,1,1").Returns(false);
yield return new TestCaseData("1.000.12").Returns(false);
yield return new TestCaseData("1,000,12").Returns(false);
}
}
public static IEnumerable TestCasesValoreNumero
{
get
{
yield return new TestCaseData("12").Returns(12);
yield return new TestCaseData("123456789").Returns(123456789);
yield return new TestCaseData("1,2").Returns(1.2);
yield return new TestCaseData("1.2").Returns(1.2);
yield return new TestCaseData("1.000,12").Returns(1000.12);
yield return new TestCaseData("1,000.12").Returns(1000.12);
yield return new TestCaseData("1.000.000").Returns(1000000);
yield return new TestCaseData("1,000,000").Returns(1000000);
yield return new TestCaseData("1.000.000.000.000").Returns(1000000000000);
yield return new TestCaseData("1,000,000,000,000").Returns(1000000000000);
yield return new TestCaseData("1.000.000,12").Returns(1000000.12);
yield return new TestCaseData("1,000,000.12").Returns(1000000.12);
}
}
}
[TestFixture]
public class UtilitaTests
{
[Test, TestCaseSource(typeof(TestCase), "TestCasesIsNumerico")]
public bool isValoreNumerico_RitornaVeroSeNumero(object o)
{
decimal d;
return Utilita.tryValoreNumerico(o, out d);
}
[Category("UtilitaTests-isValoreNumerico_RitornaNumeroCorretto")]
public decimal isValoreNumerico_RitornaNumeroCorretto(object o)
{
decimal d;
Utilita.tryValoreNumerico(o, out d);
return d;
}
}
是的,我儘量分組,但只能有類或特徵,我試着甚至加入了特質與他們的類名和方法名的每個測試,但對我的口味太多魔術字符串。沒有可以替代測試瀏覽器的插件嗎? –
Resharper有一個很好的測試跑步者,可以和NUnit一起工作,但它有點貴。 –