2017-10-05 41 views
1

使用Fact(Skip = "Manual Only")并不完全令人满意,因为如果直接点击测试运行它,它仍然会被忽略。从Visual Studio Test Explorer隐藏测试

我希望它不会出现在测试资源管理器中,但我仍然可以通过点击它来运行它。这可能吗?

回答

1

尼斯trick from Jimmy Bogard是使用一个事实,即Skip是可写的,并做出反应的东西的环境:

public class RunnableInDebugOnlyAttribute : FactAttribute 
{ 
    public RunnableInDebugOnlyAttribute() 
    { 
     if (!Debugger.IsAttached) 
      Skip = "Only running in interactive mode."; 
    } 
} 

(除此之外,没有任何的xUnit没有一个[Interactive];最接近的就是`[性状(“Interactive”,“True”)]并使用它来使用测试资源管理器中的特征分组来删除它们。

最后,'欺骗'的方式是使用TestDriven.Net,它不关心是否存在一个属性(以及许多其他设施)。