是否可以分类测试类或测试方法,例如在 nunit 中表示为BASIC,PERFORMANCE和SIMPLE,然后允许用户决定测试的哪个类别他想跑。 Can the nunit extensions help in this in anyway? 通过示例的解释将是非常值得注意的。 PS:我目前正在使用nunit 2.6.4
答案 0 :(得分:1)
使用CategoryAttribute
将类别应用于测试或灯具。
然后,您可以以各种方式运行它们,具体取决于您使用的跑步者。例如......
NUnit 2.6.4控制台运行程序 - 使用命令行上的/include
和/或/exclude
选项。
NUnit 2.6.4 GUI runner - 选择要在gui中运行的类别
在Visual Studio上运行的NUnit VS适配器 - 按特征对测试进行排序,然后选择要运行的类别。
答案 1 :(得分:1)
是的,您可以对类或测试级别的测试进行分类,测试也可以有多个类别。
提到的一个选项是[TestCategory("MyCategory")]
路线,但我更喜欢创建新属性,以便我可以选择更“强烈”类型的类别。
示例:
public class FastIntegrationTestAttribute : CategoryAttribute { }
public class LongRunningIntegrationTestAttribute : CategoryAttribute { }
public class NightlyTestAttribute : CategoryAttribute { }
行动中:
[TestFixture, FastIntegrationTest]
public class MyClassThatNeedsTesting
{
[Test]
[NightlyTest]
public void MyTest()
{
}
[Test]
public void AnotherTest()
{
}
}
请注意,fixture属性将该属性应用于所有测试,因此MyTest
具有“FastIntegrationTest”和“NightlyTest”属性,其中AnotherTest
只具有“FastIntegrationTest”属性。 / p>
根据您的跑步者和框架版本,有多种方法可以运行特定类别的测试。
以dotnetcore中的为例,你可以这样做:
dotnet test --where "cat == NightlyTest"
resharper测试运行器除了@Charlie提到的方法外,还允许按类别分组