DbUnit.NET替代品

Lie*_*oen 21 .net

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

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

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

Sco*_*nce 25

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


Tod*_*out 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
Run Code Online (Sandbox Code Playgroud)

您可以从以下位置获取必要的库:

如果您不使用SQL Server作为数据库,则将sqljdbc.jar替换为相应的JDBC驱动程序.要直接从.Net代码使用DBUnit,请包含dbunit.dll和相应的IKVM程序集.

我在这里给出的罐子版本很旧.我关于这个主题的笔记已经快三年了.较新的版本可能会工作,但我还没有尝试过.


Luc*_*s B 5

考虑一下tdunit:

TDUnit是一个类似于DBUnit.Net的单元测试实用程序.TDUnit允许您通过允许测试数据XML文件中的依赖值来保持测试数据库上的标识列和外键约束,从而帮助单元测试数据库访问.

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

〜来自他们主页上的项目描述.