如何创建自定义nUnit 3类别属性

时间:2017-12-13 11:54:43

标签: visual-studio resharper nunit-3.0

如何为nUnit 3创建自定义类别属性?

我创建了一个这样的:

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class UnitTestAttribute : CategoryAttribute
{
}

根据https://github.com/nunit/docs/wiki/Category-Attribute,这会产生一个名为“UnitTest”的类别。

我正在使用它:

[Test]
[UnitTest]
public void ExampleTest()
{
    // Example test goes here
}

据我所知,这应该有效但是在Resharper 2017.2的单元测试浏览器中,按类别分组,我只有“未分类”测试。

如果我改变:

[UnitTest]

[Category("Unit Test")]

然后它有效。

有什么想法吗?

我正在使用Visual Studio Professional 2017版本15.4.3

1 个答案:

答案 0 :(得分:0)

它应该像我在我的问题中所做的那样工作,你可以创建一个调用基类来指定名称的构造函数,但这不是必需的。它似乎并不总是与自定义属性一起使用。它似乎总是直接使用CategoryAttribute。

这是使用构造函数创建自定义属性的示例。

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class UnitTestAttribute : CategoryAttribute
{
    public UnitTestAttribute():base ("Unit Test")
    {

    }
}