我正在用 F# 制作从 Java (一小部分)到 CIL (MSIL) 的编译器,我正在考虑为实际编译部分编写一些单元测试。有没有办法可以在生成的 IL 代码上运行 ilasm 并从单元测试中运行 .exe 文件?我正在使用 NUnit。
具体来说,有没有办法做到以下几点?
[<Test>]
member this.TestSimpleMain () =
let fileName = __SOURCE_DIRECTORY__.Replace("code", "examples\SimpleMain.cil")
// run ilasm on fileName -> should produce ...\SimpleMain.exe
let actualResult = // run ...\SimpleMain.exe file
Assert.That(actualResult , Is.EqualTo("Program returned value 5!")))