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

我一直在尝试DbUnit.NET,但不支持某些功能。此外,自2006年5月22日起,该项目似乎处于测试阶段。

我们正在重构我们的体系结构,使其能够使用模拟框架进行测试,但是在完成这项工作之前,我希望拥有一个类似DbUnit.NET的框架(但更好)。

最佳答案

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

  • 下载IKVM
  • 将以下jar放在公共(public)目录中: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

  • 现在,从命令行中找到公共(public)jar目录的工作目录:
    ikvmc -target:libary -keyfile:yoursignature.snk -debug -version:2.2.0.0 -out:dbunit.dll *.jar
    

    您可以从以下位置获取必要的库:
  • commons- * Apache Commons
  • dbunit.jar DbUnit homepage
  • sqljdbc.jar MSDN
  • junit.jar Junit homepage

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

    我在这里给出的jar版本是旧的。我在这个问题上的笔记将近三年了。较新的版本可能会起作用,但我还没有尝试过。

    关于.net - DbUnit.NET替代品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/780614/

    10-12 12:44