2010-07-16 74 views
0

因此,我試圖將自己轉變爲更多的測試和行爲驅動的方法來實現我的發展。這對我來說很好,而且迄今爲止我已經使用過的幾個項目中,我看到了很好的結果。如何以TDD方式實現接口

我目前的項目是一個基於FUSE的文件系統 - 我想添加一些基本的文件系統訪問功能,所以FUSE看起來很合適。我真正需要做的是實現一組適合適當界面的函數,並將其合理地包裝起來,然後繼續。

但是,先測試一下,我提醒自己。我已經寫了一套黃瓜功能來展示整體應用程序應該如何工作的基本期望,所以現在是時候開始測試內部。現在

,我可以只寫爲每個我需要編寫該接口的功能單元測試,然後拿到編碼接口 - 但似乎並不過分測試 - 驅動給我。確實存在測試,但界面真的是什麼東西。

我該怎麼處理這個錯誤?還是我期待太多?

如果您認爲這應該是社區維基,請給我一個「什麼 - 什麼」 - 我甚至不能決定這個是否有是一個正確的答案。

回答

1

第1步。什麼是接口必須做的一件事?一件事。

第2步。你將如何證明它做到這一點?

第3步。編寫一個測試來證明接口真的做到了這一件事。

第4步。運行測試 - 它會失敗。你還沒有寫實際的界面。

第5步。編碼接口。

第6步。測試通過。

接下來的事情,接口必須做。

這與您已經設計的功能沒有多大關係。這完全集中在接口必須有外部可見功能。可能會發現你的功能是正確的。或者你可能會過度設計這些功能。或者設計不足。重點是從組件必須做的事情和測試證明它必須做什麼。

0

我想通過基本的文件系統訪問添加一些功能,以便FUSE似乎是一個不錯的選擇

這是很難發展熔絲FS。兩個主要問題是非常困難的調試和多線程。我也有(現在有)測試我的FS的問題。也許inotify將滿足您的要求。

+0

我使用[Check](http:// check。sourceforge.net/)逐一測試我的保險絲回調(用我的模擬'fuse_get_context()')。 – rampion 2010-07-22 13:48:41