【问题标题】:How to create custom nUnit 3 category attribute如何创建自定义 nUnit 3 类别属性
【发布时间】:2017-12-13 11:54:42
【问题描述】:

如何为 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

【问题讨论】:

  • 这可能是与 ReSharper 查找类别的方式有关的错误。尝试在 Visual Studio 中使用 NUnit 3 测试适配器运行,我想可以正确识别类别?
  • 我已经有了 nUnit3 测试适配器。有人刚刚回答了这个问题,但它消失了?我会用他/她的回答来回答这个问题,因为它解决了我的问题。
  • 是我,但答案错了!我会评论你的回答为什么。 =)
  • 哦,太好了,我以为我在那里疯了一秒钟,维基更改也被撤消了。
  • 有什么变化? 0:-)

标签: visual-studio resharper nunit-3.0


【解决方案1】:

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

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

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

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多