是否可以跳过NUnit中特定类的所有测试
[TestFixture]
[Ignore("Reason")]
public class TestClass {
}
Run Code Online (Sandbox Code Playgroud)
Rub*_*ink 33
不 - 目前没有这样的设施,
在xUnit中实现效果的一种快捷方法是注释掉public- 私有类没有反映出来(显然它不会出现在跳过列表中).
如果您认为需要将它作为CodePlex上的问题足够常见,请考虑将其记录为CodePlex上的问题(我个人无法想象它的支持,因为我根本不会遇到需要跳过整个测试类测试的情况).
更新:另一种方法是TraitAttribute在类上放一个然后(假设你正在使用xunit.console跑步者)通过运行来过滤掉它/-trait traitName.(例如,您可以通过这种方式实现ExplicitAttribute待定测试和类似语义的BDD框架技术的某些方面 - 当然,最大的问题是它们在使用任何这些过滤技术时都不会出现在任何报告中)
更新2:你可以做到
const string skip = "Class X disabled";
[Fact(Skip=skip)]
void Test() {}
Run Code Online (Sandbox Code Playgroud)
然后您可以更改为const string skip = null以撤消跳过.这种(dis)的优点是测试仍然在测试列表中显示为Skipped测试,通常在测试运行报告中包含一个原因(与之private相比,它可能会被遗忘)
Rem*_*ius 11
这是我避免错误 xUnit1000 的技巧:测试类必须是公共的(检查单个事实,我认为理论也可以通过这种方式进行破解)。
// Uncomment to enable tests
//public class FactSwitch : FactAttribute { } // public! ahh, a bug!
// Uncomment to disable tests
internal class FactSwitch : Attribute { }
public class MyTests
{
[FactSwitch]
public void MyTest1()
{
"it".ShouldBe("it");
}
}
Run Code Online (Sandbox Code Playgroud)
(3年后)
在寻找相同的解决方案时,我发现有更好的方法可以做到这一点。让我们按照 Ruben Bartelink 建议的方式重写上面的示例(延续他的想法)。
public class MyTests
{
//const string SkipOrNot = null; // Run all tests
const string SkipOrNot = "reason"; // Skip all tests
[Fact(Skip = SkipOrNot)]
public void MyTest1()
{
"it".ShouldBe("it");
}
}
Run Code Online (Sandbox Code Playgroud)
内森·库珀(Nathan Cooper)对我的想法提出了一个很好的改进:
public class MyTests
{
// Uncomment to disable tests
//private class FactAttribute : Attribute { }
[Fact]
public void MyTest1()
{
"it".ShouldBe("it");
}
}
Run Code Online (Sandbox Code Playgroud)
所以我喜欢鲁本和内森的两个想法。使用 Skip="something" (Ruben) 和根本不使用 Skip 之间存在细微的差别。使用“跳过”会将所有测试置于“跳过测试”警告区域中,而“FactAttribute : Attribute”将隐藏它们。
Mur*_*rti 10
您需要将类访问级别设置为内部并抑制消息,就像 @Miq 所做的那样:
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "xUnit1000:Test classes must be public", Justification = "Disabled")]
internal class MyClassThatIsNotATestClass
{ ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13761 次 |
| 最近记录: |