DbUnit.NET替代品

时间:2009-04-23 07:11:44

标签: .net

除了DbUnit.NET之外还有其他“.NET(2.0)数据库访问代码测试框架”吗?

我一直在尝试DbUnit.NET,有些东西不受支持。此外,该项目似乎是自2006年5月22日以来的阿尔法......

我们正在重构我们的架构,以便能够使用模拟框架进行测试,但在完成这项工作之前,我希望有一个像DbUnit.NET这样的框架(但更好)。

3 个答案:

答案 0 :(得分:25)

我们在其中一个项目中使用NDbUnit。这是一个比DbUnit.NET看起来更活跃的项目。

答案 1 :(得分:13)

几年前我遇到了这个问题。我对DBUnit.Net状态感到恼火。缺少对我来说很重要的功能。感谢IKVM,使用dotnet的普通Java版DBUnit并不是很困难。事实上,我现在正在运行使用原始DBUnit的C#集成测试。以下是我将DBUnit的java版本转换为.Net程序集的方法:

  • 下载IKVM
  • 将以下jar放入公共目录:commons-collections-3.2.jar commons-logging-1.1.jar junit-4.1.jar commons-lang-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作为数据库,请将sqljdbc.jar替换为相应的JDBC驱动程序。要直接从.Net代码使用DBUnit,请包含dbunit.dll和相应的IKVM程序集。

我在这里给出的jar版本已经过时了。我关于这个主题的笔记已经快三年了。较新的版本可能会有效,但我还没有尝试过。

答案 2 :(得分:5)

考虑tdunit

  

TDUnit是一个类似于DBUnit.Net的单元测试实用程序。 TDUnit有帮助   通过允许您保持身份来进行单元测试数据库访问   在您的测试数据库上启用了列和外键约束   允许在测试数据XML文件中使用依赖项值。

     

TDUnit使用与DBUnit类似的XML文件来指定测试   要加载到数据库中的数据有一个主要区别。 TDUnit   允许创建包含标识列的测试数据   和表之间的关系。例如,在TDUnit中,您可以加载一个   客户行进入Customer表然后引用auto   在Order表中为客户生成ID(标识列)。   虽然用C#3.0编写,但它可以从.Net 2.0项目中使用   只要安装.Net Framework 3.5。通过指定测试   XML文件中的数据,可以保留测试所需的数据   测试和TDUnit插入并删除测试数据。这允许   您的测试数据库保持为空,允许更快的更改和   更容易分发给团队。

〜来自主页上的项目描述