我们正在尝试使用NUnit进行集成测试,但在为测试准备系统时遇到一些问题。在系统准备好测试之前,需要运行一些代码。所以我想我们可以写一个运行这个初始化代码的SetUpFixture
。只要该类位于正在测试的程序集中,这样就可以正常工作。但是,我们可能会编写一些20-30个这样的程序集,所以我想把它放在一个可以简单地引用到每个测试程序集中的帮助项目中。如果我这样做,NUnit不会运行SetUp
方法(我猜它只在正在测试的程序集中查找它们)。
有没有办法让NUnit知道这个外部设置代码?我想避免使用专门的属性和查找器,因为我们是一个大型组织,人们往往会忘记特殊的解决方案。
答案 0 :(得分:0)
您可以使用反射在测试组件的[SetUpFixture
]中的外部程序集中实例化“setup helper”对象。类似的东西:
Assembly asm = Assembly.LoadFrom(pathToSetupHelperDll);
Type setupHelper = asm.GetType("Setup.Helper");
object h = Activator.CreateInstance(setupHelper);
MethodInfo m = setupHelper.GetMethod("DoSomething");
m.Invoke(h, someParameter);