我正在測試代碼生成器的單元測試。單元測試的基本流程如下:在生成的C#類中動態單元測試的最佳方法
單元測試調用適當的方法並生成代碼。很簡單。
單元測試編譯生成的C#代碼(步驟#1)。如果代碼compliles,進行第3步,否則停止一切。
在步驟#2 suceeded,單元測試然後運行在步驟2中所產生的編譯的代碼等,預先寫好的單元測試爲此,我將利用這裏描述的解決方案:Running individual NUnit tests programmatically和NUnit API And Running Tests Programmatically。
爲第2步的做法是這樣的問題是什麼:我想我有兩個選擇(1)運行Visual Studio命令行編譯溶液或用CompilerParameters(2)使用 CSharpCodeProvider。任何建議將不勝感激。
你認爲編譯與VS有關係嗎?我應該能夠在沒有安裝VS的情況下運行測試嗎? –
你可以看看Roslyn。這是新的C#編譯器,它有一個API,你可以使用:https://github.com/dotnet/roslyn – Kenneth
邁克ž,我真的不在乎如果編譯綁定到VS.我看到了你要去的地方:如果編譯需要與VS綁定,那麼使用CSharpCodeProvider。但是CSharpCodeProvider/CompilerParameters可以提供VS命令行提供的一切嗎? – chrisl08