2012-09-25 63 views
12

“底部”行:如何设置NCrunch以排除特定类别中的所有测试,例如, “LongRunning”?排除特定类别的测试


堆栈溢出search提供零个结果和relevant NCrunch wiki page只是告诉我,“NUnit的的类别属性是一样强大NCrunch”,这是很好的,但并没有告诉我怎么使用那些类别。

为了进一步澄清,我期待在某处打开/关闭类别的复选框列表,类似于NUnit Test Runner中的/exclude选项,以排除某些类别中的所有测试。

PS。我只用NCrunch标记了这个问题,我用NUnit作为我的测试框架似乎并不相关。如果答案指出,否则我很高兴添加标签。

回答

16

在维基上搜索一下后,我发现this page描述它:您需要创建一个新的引擎模式。谁会想到?

下面是两个相关的步骤/屏幕截图,为我工作。首先,进入NCrunch菜单,选择“设置发动机模式”,然后选择“自定义引擎模式...”:

Step 1 - enabling custom engine

然后第2步,选择“自动运行所有测试+类别过滤器”,点击“添加引擎模式”。然后为它命名,并添加一个条件“没有类别”,并选择要忽略的类别,例如“LongRunning”。然后点击“OK”:

Step 2 - add custom engine with filter on "not in category"

最后选择了新的发动机和你的测试被过滤!

+0

这是我目前正在做的,但它仍然不能完全满足我的需求。除了我的单元测试之外,我还有一些集成测试会碰到数据库。当我在没有网络连接的情况下离开办公室时,我希望完全忽略这些测试,而不是让它们自动运行。我不认为现在有办法实现这一点,但希望未来的版本允许它:( –

+0

我同意@mo。在初始加载时,NCrunch总是运行所有测试,显然甚至使用DoesNotHaveCategory设置,然后这些测试被标记为损坏。 – Daniel

+3

刚刚在NCrunch论坛上看到一篇文章,这实际上确实可以正常工作,测试显示由于缓存数据而损坏,请关闭您的解决方案并删除_NCrunch_SOLUTION目录,这些测试将不会运行,并且不会再显示为已损坏。 – Daniel