跳到主要內容

發表文章

目前顯示的是有「UnitTest」標籤的文章

最簡單的單元測試工具 - CppUnitLite

測試驅動開發(Test Driven Development, TDD) 在 敏捷開發流程(Agile Process) 中扮演了一個很重要的角色,不過本文的重點在於TDD,不談Agile,實際上我也不懂,不懂的東西我也不談。 第一次接觸TDD,是在開發 JSR-184 時。在你的JSR(Java Specification Requests)實作和VM整合之前,VM Vendor會要求你的實作至少要通過TCK(Technology Compatibility Kit)。TCK是透過 JCP(Java Community Process) 取得,目的是用來驗證某JSR的實作品是否符合規範。實際上TCK就是一組使用JavaTest harness的測試包,包含了各種用來測試JSR的單元測試(Unit Test)。 以TCK for JSR-184來說,總共包含了161個測試項目,每一個測試項目裡面又再包含了2至10個子測試項目,而每一個子測試項目裡面又有不定數量的更小的測試。JavaTest是個自動化測試的環境,只要載入JSR-184的測試包,設定好環境之後就可以執行自動測試,然後看看結果如何。 JavaTest的測試都是Java寫的,雖然是Java新手,但是當時在發開發的過程中也能感受到TDD的威力。舉個簡單的例子:對於像我這樣不懂3D的人來說,還可以開發3D引擎,你說利不利害。我只需要想盡辨法讓測試能過關就行了,很多細節其實也不懂。這樣說雖然是比較誇張點,但我想要表達的是,TDD果然是神。 ; 話說回來,C/C++是我使用最多的程式語言,所以我如果也要使用TDD的話,就需要找一套支援C/C++的TDD程式工具。因為我沒那麼聰明,所以都只挑簡單易用的,最後終於讓我找到了 CppUnitLite 這個工具。實際上是在閱讀< 修改代碼的藝術 >這本書時,從中學到的,CppUnitLite是作者設計實作的一套短小精幹的UnitTest工具,簡單易用。 這本書的內容我全部忘光光了,但我學會了使用CppUnitLite就算是值回票價了。現在底下內容要作個簡單的介紹,看看如何撰寫單元測試。 ; 下載 後解開檔案,我們只需要將om/CppUnitLite裡的檔案加到我們自己的專案就可以了,om/CppUnitLite裡的Cpp和CppUnitLite資料夾不用管它。 ...