これを実装する方法を考えていますが、私の知識が貧弱すぎて実装を理解できないようです。
ソース コードを 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));
}
アセンブリは動的にコンパイルされるため、単体テスト プロジェクトを参照できず、コンパイルされません。これを実装する方法について何か提案をお願いします。