C# 如何在测试设置方法中获取测试类别
下面是测试设置方法与相同名称空间链接的代码,并应用了所有其他单元测试用例。我想跳过特定的单元测试用例来调用测试设置方法。为了实现这一点,应用了C# 如何在测试设置方法中获取测试类别,c#,unit-testing,nunit,C#,Unit Testing,Nunit,下面是测试设置方法与相同名称空间链接的代码,并应用了所有其他单元测试用例。我想跳过特定的单元测试用例来调用测试设置方法。为了实现这一点,应用了category属性,但它无法获取setup方法,并且始终为属性['''u CATEGORIES']提供0值 class 1 { [Setup] public void SetupMethod() { if (CheckForSkipSetup()) return; ... }
category
属性,但它无法获取setup
方法,并且始终为属性['''u CATEGORIES']
提供0值
class 1
{
[Setup]
public void SetupMethod()
{
if (CheckForSkipSetup()) return;
...
}
private static bool CheckForSkipSetup() {
ArrayList categories = TestContext.CurrentContext.Test
.Properties["_CATEGORIES"] as ArrayList;
bool skipSetup = categories != null && categories.Contains( SKIP_SETUP );
return skipSetup ;
}
}
class 2
[Test]
[Category("skipMethod")]
public void Method1()
{
}
如何解决此问题,以便我可以在安装类中获取category属性。升级到NUnit 3的最新版本,在那里已修复。属性键为
类别
例如,下面的代码
[SetUp]
public void Setup()
{
var cats = TestContext.CurrentContext.Test?.Properties["Category"];
foreach (var cat in cats)
{
TestContext.WriteLine("Category: " + cat);
}
}
[Test]
[Category("One")]
[Category("Two")]
public void TestMethod()
{
Assert.Pass("Passes");
}
产生输出
Category: One
Category: Two