下面是代码,其中测试设置方法与相同的命名空间链接,并且应用了所有其他单元测试用例。我想跳过特定的单元测试用例来调用测试设置方法。要实现这一点,应用了category
属性,但是,它无法获取setup
方法并且所有时间都为Properties['_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属性。
答案 0 :(得分:3)
升级到最新版本的NUnit 3,它在那里修复。属性键为Category
。
例如,以下代码
[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