2012-09-24 43 views
3

引用主項目我全新的單元測試,剛從大學畢業,突然開發和利用自己保持一個相當大的應用程序負責。之前的開發人員(剛剛離開公司的)包括NUnit的項目參考資料,在幾個班級的底部寫了幾個空的測試夾具,並且從未做過其他任何事情。我害怕如果我現在不開始編寫單元測試,當我重構和學習系統時,我將永遠不會完成它們,但我無法理解如何正確設置我的測試項目。從單獨的NUnit測試庫

有人告訴我,我應該在同一解決方案中將我的測試項目作爲單獨的Class Library保存,因此我製作了一個OurApplication.Test庫項目。不過,我不知道如何參考我將在其中進行測試的項目。

指南網上說把它指向我主要項目的.DLL ...但之一。我們的項目是一個獨立的應用程序,不會生成一個DLL,我不知道在這種情況下我應該做什麼。

對什麼是錯在這裏,或指針的任何意見,以更全面的指南將不勝感激。我希望以正確的方式完成這項工作,並儘快完成。

+1

控制檯應用程序正確的做法是單片exe文件拆分成至少一個EXE和一個DLL。這個exe只需要編寫代碼就可以實現主要功能。 exe和測試都可以引用(使用)生產DLL。然而,正如你所說的「已經有一段時間了」 - 分裂可能是一個棘手的問題。因此,現在要做的實用的事情(不會在池塘中造成太多的漣漪)只能從您的測試dll中引用.exe項目(這是不可能的,但現在是不可能的。)在測試中獲得它,然後獲取回到以後自信地分裂。 – Gishu

+0

@Gishu謝謝你的建議,並認識到分裂它在這個時間點的方式超出了我能做到的範圍(我很遙遠的軌道從我最初的目標,因爲它是),但我會當事情開始走到一起時,請牢記它。 – KChaloux

+0

添加單元測試的好處,現在是,如果你想在最終將項目劃分爲類庫的條款,然後當你來到做出跳躍你的測試將作爲一個安全網! –

回答

5

如果你正在使用Visual Studio,你可以在解決方案中添加到項目引用這裏引用從測試項目

enter image description here

+0

+1。當我明天回去工作時,我會給它一個鏡頭,然後你可能會得到接受的答案。 – KChaloux

2

理想的情況下,最好是你的應用程序分成了基於功能的單獨的DLL,即將解決方案分成由類型類庫的項目表示的模塊。這樣可以更簡單地單獨測試這些dll。我通常爲每個模塊(項目)都有單獨的測試項目。

說了這麼多,你可以添加一個.exe項目爲您的修女其項目的引用,並獲得所有的命名空間和類測試,但對於維護的代碼並不是最好的做法。

+0

爲合理的建議+1。不幸的是,這是我剛剛在過去幾個月中負責的另一個人已經完成了5年的開發工作:對於便捷的指南和附加圖片,+1 – KChaloux