是否有用于指定配置的 NUnit 测试用例属性

发布于 2024-11-03 22:41:11 字数 253 浏览 1 评论 0原文

我正在编写一个 NUnit 测试,我只想在发布配置中运行。有没有一种优雅的方法可以使用测试用例属性来做到这一点?现在,我用编译器指令包围整个功能块:

我使用的是 Nunit 2.5.6.10205。

#if !DEBUG
        [Test]
        public void MyReleaseOnlyTest()
        {
           // stuff
        }
#endif

I am writing an NUnit test that I want run only in the Release configuration. Is there an elegant way of doing this with a test case attribute? Right now, I am surrounding the entire function block with compiler directives:

I am using Nunit 2.5.6.10205.

#if !DEBUG
        [Test]
        public void MyReleaseOnlyTest()
        {
           // stuff
        }
#endif

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幻梦 2024-11-10 22:41:11

您可以使用[Category] 属性。如果您使用 [Category("Release")] 标记仅发布测试,则在正常测试运行中排除该类别并将其包含在发布运行中。

所以现在你的测试变成了

[Test]
[Category("Release")]
public void MyReleaseOnlyTest()
{
   // stuff
}

You could use the [Category] attribute. If you mark release only tests with [Category("Release")] then exclude that category in your normal test run and include it in you release run.

So now your test becomes

[Test]
[Category("Release")]
public void MyReleaseOnlyTest()
{
   // stuff
}
安静被遗忘 2024-11-10 22:41:11

在 #if 预处理器中添加 Ignore 属性,而不是整个测试方法。

#if DEBUG
[Ignore("Only to be run in release")] 
#endif

http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx

您还可以使用Conditional 属性

[System.Diagnostics.Conditional("RELEASE")]

Add the Ignore attribute in #if preprocessor, rather than the entire test method.

#if DEBUG
[Ignore("Only to be run in release")] 
#endif

http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx

You can also use the Conditional attribute

[System.Diagnostics.Conditional("RELEASE")]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文