2012-09-25 61 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