2017-10-05 42 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,它不關心是否存在一個屬性(以及許多其他設施)。