我正在编写一个为数据库编写ADO.NET代码的项目。源代码位于:GenTools。它从数据库读取存储过程和表并输出C#代码。我使用NUnit向项目添加了单元测试,并在测试生成的代码时遇到了绊脚石。测试动态生成的代码
现在,我按照以下步骤来测试生成的代码:
- 生成代码
- 生成的代码编译成汇编
- 加载组件
- 使用反射来测试生成代码
这种方法的问题是测试必须按顺序进行。如果前一次失败,下一步将永远不会成功,并且没有任何步骤可以被排除。一个例子是here。
我不喜欢这种设置,因为一旦到达步骤#4,对生成的代码的失败测试将阻止其余的运行。
有没有办法确保前3个步骤顺序运行,然后让步骤#4中的所有测试分离出来?我不介意切换测试框架。
也许你正在寻找运行[TestFixtureSetUp]第3步? – YK1
你有没有试过CodeDom? http://msdn.microsoft.com/en-us/library/y2k85ax6(v=vs.110).aspx –
我在步骤1,2和3([示例](https://github.com) /chris-cartwright/GenTools/blob/master/UnitTests/GenTable.cs#L127)),这在TestFixtureSetUp中是没有意义的。如果我可以指定测试装置的顺序,那么解决方案就可以工作。 –