测试动态生成的代码

时间:2013-06-01 22:05:56

标签: c# unit-testing dynamic compilation

我正在开发一个为数据库编写ADO.NET代码的项目。源代码位于此处:GenTools。它从数据库中读取存储过程和表并输出C#代码。我使用NUnit将单元测试添加到项目中,并且在测试生成的代码时遇到了绊脚石。

现在,我正按照以下步骤测试生成的代码:

  1. 生成代码
  2. 将生成的代码编译为程序集
  3. 加载程序集
  4. 使用反射来测试生成的代码
  5. 这种方法的问题是必须按顺序运行测试。如果前一个失败,下一步将永远不会成功,并且不会遗漏任何步骤。一个例子是here

    我不喜欢这种设置,因为一旦到达步骤#4,对生成的代码的失败测试将阻止其余的运行。

    有没有办法确保前3个步骤按顺序运行,然后将步骤#4中的所有测试分开?我不介意切换测试框架。

1 个答案:

答案 0 :(得分:0)

TestNG测试框架允许您建立依赖关系,以便以后的测试依赖于早期的测试,并且您可以很好地控制细节。我在这里有关于测试排序的更多细节:

http://ancient-marinator.blogspot.ca/2013/05/on-testing-scheduling-your-tests.html

当然,TestNG有自己的网站:http://testng.org/doc/index.html