我為什么要開發AnyDbTest數據庫單元測試工具
軟件做了好幾年了, 編程語言也由Turbo C-->VB-->Delphi-->C#不斷轉換, 始終不變的一點是, 一直和數據庫打交道, 推崇極限編程XP, 也盡力在項目中實踐XP/TDD.
在以前的項目中, 用了一些業界流行的單元測試框架, 比如DUnit(for Delphi)和NUnit(for .NET). 但數據庫上面的程序很多時候沒有cover到. 尤其讓專職的DB developer 編寫stored procedure的單元測試代碼, 他們壓根沒有聽過. xUnit(JUnit/DUnit/NUnit)需要編Java/Delphi/.Net程序, 顯然不適合他們.
于是google之, 找到了開源項目DbUnit, 研究了一會兒, 還是需要編寫Java程序. 對于不熟悉Java的人來講, 難度太大, 而且維護這些Java測試Project也比較麻煩. 其實我覺得沒有必要這么復雜, DB Developer應該將時間用在優化設計和優化實現, 而不是花過多的時間編寫這些Java測試代碼.
InfoQ中文版曾經有一篇文章(http://www.infoq.com/cn/news/2008/11/PDC-testing)講述,其中講到: 早些的討論普遍覺得數據庫方面被忽視了,大部分的數據庫開發人員很少或幾乎沒有單元測試的概念,也缺乏相關支持工具。于是, 開始構思做一個專為DBA和DB developer使用的數據庫單元測試工具. 就有了AnyDbTest, 網站 http://anydbtest.codeplex.com
AnyDbTest是專門DBA和DB Developer設計的單元測試工具, 你不再需要編寫Java/.Net代碼, 只需要編寫一個簡單的Xml文件, 在Xml文件中, 告訴AnyDbTest你要測什么, 你期望的結果是什么就可以了. 它提供了39個標準的Assertion, 包括超集, 子集, 集合相等, 真超集等等.
另外, 我制作了一個的tutorial頁面, http://anydbtest.codeplex.com/documentation, 從中能夠看到AnyDbTest的工作機制. 希望這個軟件能對大家的項目有所幫助, 歡迎使用.
注: AnyDbTest原網站http://www.anydbtest.com已經功成身退, 不再維護.

浙公網安備 33010602011771號