在以前的項(xiàng)目中, 用了一些業(yè)界流行的單元測(cè)試框架, 比如DUnit(for Delphi)和NUnit(for .NET). 但數(shù)據(jù)庫(kù)上面的程序很多時(shí)候沒(méi)有cover到. 尤其讓專職的DB developer 編寫stored procedure的單元測(cè)試代碼, 他們壓根沒(méi)有聽(tīng)過(guò). xUnit(JUnit/DUnit/NUnit)需要編Java/Delphi/.Net程序, 顯然不適合他們.
于是google之, 找到了開(kāi)源項(xiàng)目DbUnit, 研究了一會(huì)兒, 還是需要編寫Java程序. 對(duì)于不熟悉Java的人來(lái)講, 難度太大, 而且維護(hù)這些Java測(cè)試Project也比較麻煩. 其實(shí)我也覺(jué)得沒(méi)有必要這么復(fù)雜, DB Developer應(yīng)該將時(shí)間用在優(yōu)化設(shè)計(jì)和優(yōu)化實(shí)現(xiàn), 而不是花過(guò)多的時(shí)間編寫復(fù)雜的測(cè)試代碼.
從InfoQ中文版曾經(jīng)有一篇文章(http://www.infoq.com/cn/news/2008/11/PDC-testing)講述,其中講到: 早些的討論普遍覺(jué)得數(shù)據(jù)庫(kù)方面被忽視了,大部分的數(shù)據(jù)庫(kù)開(kāi)發(fā)人員很少或幾乎沒(méi)有單元測(cè)試的概念,也缺乏相關(guān)支持工具。于是開(kāi)始構(gòu)思做一個(gè)專為DBA和DB developer使用的數(shù)據(jù)庫(kù)單元測(cè)試工具. 就有了AnyDbTest, 網(wǎng)站 http://www.anydbtest.com
AnyDbTest就是在者這樣的背景下出現(xiàn)的, 它是專門DBA和DB Developer設(shè)計(jì)的單元測(cè)試工具, 你不再需要編寫Java/.Net代碼, 你只需要編寫一個(gè)簡(jiǎn)單的Xml文件, 在Xml文件中, 告訴AnyDbTest你要測(cè)試什么, 你期望的結(jié)果應(yīng)該是什么就可以了. 它提供了二十多個(gè)標(biāo)準(zhǔn)的Assertion, 包括超集, 子集, 集合相等, 真超集等等.
另外, 我制作了一個(gè)的tutorial頁(yè)面, http://www.anydbtest.com/tutorial.html, 從中能夠看到AnyDbTest的工作機(jī)制. 希望這個(gè)軟件能對(duì)大家的項(xiàng)目有所幫助. AnyDbTest的Express版本是免費(fèi)的, 歡迎使用.