2011-10-06 40 views
7

我開始一個新項目,我必須根據Oracle數據庫中的一些數據創建和處理多個Excel文件。我想在本項目中學習並應用TDD/BDD方法,以改善我的編程習慣和項目本身。如何應用TDD/BDD方法從C#使用Oracle數據庫中的數據創建Excel文件

但是,我不確定我應該從哪裏開始做什麼?我正在尋找一些指導或路線圖,以確保我正確運用這些概念。

我需要檢查什麼?如果我無法安裝一些DI或Mock工具,我有沒有正確創建TDD/BDD方法的任何問題?

我說的原因可能無法安裝軟件,是因爲並非所有軟件都在公司允許。

到目前爲止,我已經安裝了nUnit。我不確定是否需要其他工具或代碼框架/庫。

謝謝。

回答

1

IMO,如果你是初學者,想學習TDD和BDD,這可能不是最好的項目開始。

TDD和BDD在處理對象時工作得很好。來自對象的越遠,它就變得越複雜,因爲你正在處理外部依賴性,這些依賴性是很難測試的。 DB和Excel文件都是很好的例子。儘管實例化測試對象非常簡單,但將其設置爲已知狀態並在某些操作後驗證其狀態,但同樣的事情對於比如說DB來說也很複雜:您需要使用真實的數據庫,設置其狀態,並編寫額外的代碼來驗證其狀態(這更像是一種集成測試方法),或者使用Mocks,這可能不是最簡單的技術。

我的建議是開始專注於嚴格處理對象的應用程序部分。在這種情況下,NUnit和Moq這樣的Mocking框架在很大程度上是足夠的。

+0

感謝您提到這不是TDD/BDD開始的最佳項目。我有同樣的印象(你也證實了這一點),因爲我看到的大部分文章和樣本都是面向對象的。我不是選擇這個項目作爲TDD/BDD的學習點,但我必須做這個項目,並且認爲我會同時嘗試做一些BDD/TDD。 –

+0

我認爲在這個項目上使用TDD不會傷害,但它不會是最簡單的。我將重點關注應用程序的核心部分:由於您有一些數據,您從數據庫中獲取數據,將它們封裝在對象中,並將它們轉換爲操作,再封裝到對象中,以便在Excel文件中執行。這部分將很容易測試,因爲您可以驗證對象的行爲,並使設計與數據的存儲方式脫鉤。最難的部分,TDD明智的是檢查你是否從數據庫中獲得正確的數據,以及正確的Excel文件給出你的輸出對象。 – Mathias

1

我會通過NuGet看看mspec庫。

相關問題