2008-12-16 43 views
9

我使用NUnit的測試我的C#代碼,並至今一直保持單元測試(快速奔跑的)和集成測試(長時間運行)分開,並在不同的項目文件。我使用NUnit來進行單元測試和集成測試。我只注意到NUnit的規定,從而使測試可以分類的category attribute。這引出了一個問題,我應該將它們混合在一起,並簡單地使用category屬性來區分它們嗎?我應該混合我的單元測試,我的集成測試在同一個項目?

回答

0

我會繼續用任何方法您當前使用。這更多的是意見,你不希望重新使用你的整個測試方法。

+0

它只是一個「意見的事」,直到集成測試需要特別的部署,建立和/或拆除的,然後就變成了「必要的事情」 ;-) – 2008-12-16 16:08:39

7

如果不是太困難將它們分開,現在這樣做

單元測試應及早運行,並經常(例如每你想改變什麼,在入住前,入住後再時間),並應在短時間內完成。

集成測試應定期運行(每天,例如),但可能需要顯著的時間和資源來完成

因此最好是讓他們分開

1

我發現,使用單獨的項目進行單元測試並且集成測試往往會在項目中創建一些過多的頂級工件。儘管我們是TDD和一切,我仍然認爲正在開發的代碼應該是值得我的項目結構的頂層的至少一半。

1

它們分開,如果有可能,因爲集成測試通常需要更長的時間比單元測試。 也許你的項目的發展和你結束了非常多的測試,所有這些都需要很短的時間量 - 除了集成測試 - 你要儘可能多地運行您的單元測試...

0

我不認爲它確實很重要,但將它們分開似乎是一個更好的主意,因爲隔離和自動化將變得更加容易。類別特徵很好,但從可用性的角度來看並不那麼好。

0

【類別】背後的原始動機是爲了解決你提到的問題。它也打算創建更廣泛的測試套件,但這是你在做什麼。

要格外小心,[類別]。並不是所有的測試運行者都支持NUnit gui的相同方式(或者我曾經在一段時間內沒有升級過)。在過去,一些跑步者會忽略這個屬性,如果它是在課堂上,或者只是一起忽略它。大多數似乎現在工作。

相關問題