2009-04-23 62 views
20

除了DbUnit.NET之外,還有其他'.NET(2.0)數據庫訪問代碼的單元測試框架嗎?DbUnit.NET Alternatives

我一直在嘗試DbUnit.NET,有些東西不支持。此外,該項目似乎是自2006年5月22日以來的alpha版本...

我們正在重構我們的架構,以便能夠使用嘲諷框架進行測試,但在完成該工作之前,我希望有一個類似框架DbUnit.NET(但更好)。

+0

DbUnit.NET也似乎並沒有做所有的東西,正常的DbUnit(用於Java)不......你有沒有發現另一種選擇? – CodingWithSpike 2009-07-30 19:10:15

+0

不,我停止使用DbUnit.NET。 – 2009-08-04 15:03:41

回答

13

幾年前我遇到了這個問題。我對DBUnit.Net的狀態很惱火。它缺少對我很重要的功能。由於IKVM,使用dotnet的普通Java版本的DBUnit並不是很困難。事實上,我現在正在運行使用原始DBUnit的C#集成測試。下面是如何轉換DBUnit的Java版本爲.NET程序集:

  • 下載IKVM
  • 將以下jar文件到一個共同的目錄:公地集合-3.2.jar共享記錄-1.1.jar的JUnit -4.1.jar公地郎2.2.jar DbUnit的-2.2.jar sqljdbc.jar

現在,從與普通JAR目錄的工作目錄的命令行:

ikvmc -target:libary -keyfile:yoursignature.snk -debug -version:2.2.0.0 -out:dbunit.dll *.jar 

您可以從以下位置獲得必要的庫:

如果您沒有使用SQL Server作爲數據庫,那麼用合適的JDBC驅動程序替換sqljdbc.jar。要直接從.Net代碼使用DBUnit,請包含dbunit.dll和相應的IKVM程序集。

我在這裏給出的jar版本是舊的。我關於這個問題的筆記已經快三年了。較新的版本可能會工作,但我沒有嘗試過。

25

我們爲我們的項目之一使用NDbUnit。這是一個比DbUnit.NET看起來更活躍的項目。

5

考慮tdunit

TDUnit類似於DBUnit.Net一個單元測試工具。 TDUnit幫助 支持單元測試數據庫訪問,允許您在測試數據庫中保留標識 列和外鍵約束,允許 允許測試數據XML文件中的依賴項值。

TDUnit使用與DBUnit相似的XML文件來指定要加載到數據庫中的測試 數據,但有一個主要區別。 TDUnit 允許創建包含標識列 和表之間關係的測試數據。例如,在TDUnit可以加載 客戶行對客戶表,然後引用自動生成 ID(標識列)在訂單表中的客戶。 雖然使用C#3.0編寫,但可以在.Net 2.0項目中使用,例如安裝.Net Framework 3.5的 。通過指定測試在XML文件中 數據,測試所需的數據可以被保持與 測試和TDUnit插入和移除測試數據。這允許 您的測試數據庫保持空白,從而允許更快的更改並且更容易地分發給團隊。

〜從項目描述在他們的主頁上。