我正在考虑如何实现这一点,似乎我的知识太贫乏而无法理解实现。
我有一个将源代码编译为 DLL 的代码。
然后我需要以某种方式在这个 Dll 上运行单元测试,并检查里面的 3-4 个方法。
我正在尝试以这种方式运行单元测试。
CompilerResults compileResults = codeProvider.CompileAssemblyFromSource(compilerParameters, new string[] { sourceCode });
Assembly myAssembly = compileResults.CompiledAssembly;
TestPackage testPackage = new TestPackage(@"TestingProject.dll");
testPackage.Assemblies.Add(myAssembly);
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestResult testResult = remoteTestRunner.Run(new NullListener(),TestFilter.Empty,false,LoggingThreshold.All);
这例如测试
[Test]
public void AddTest(IDynamicScript s)
{
Assert.AreEqual(10, s.Add(5,5));
Assert.AreNotEqual(10,s.Add(4,5));
}
由于 Assembly 是动态编译的,我无法将它引用到单元测试项目中,并且它不会编译,请就如何实现这一点提出任何建议