2011-12-01 121 views
0

我正在編寫小文檔。我使用.NET表達式樹來創建將生成文檔的代碼。我認爲編寫測試生成的表達式樹結構的單元測試是不可能的,因爲它只是代碼,我可以用很多方式編寫它來得到相同的結果。 我認爲唯一的解決方案是編寫集成測試,它將運行文檔編譯和執行並檢查輸出結果。 我想知道在這種情況下集成測試是否是唯一的選擇?測試複雜結構

+0

瞭解這個系統是如何實現的(特別是使用的語言)是有用的。 –

+0

剛剛更新。我正在使用.Net(C#) – Danil

+0

我添加了一些標籤,以便適當的人員可以找到您的問題。 –

回答

1

我認爲這是不可能寫一個測試產生 表達式目錄樹結構單元測試,因爲它只是代碼

我不同意。

對於每個輸入案例,您需要兩個測試:一個確保爲已知輸入生成生成的表達式樹,另一個確保在您走AST時檢查發出的代碼。 「不可能」?幾乎不。

+0

嗯,是的,我同意這是可能的,但它是否值得檢查表達式樹。內部代碼實現中的任何次要更新都將導致紅色測試,即使它是正確的代碼。 – Danil

+1

有什麼選擇?不檢查它?在單元測試或錯誤生成的代碼中發現您的ATS代是否被破壞會更容易嗎?我更喜歡第一個。是的,當然你必須和代碼一起維護測試。 – duffymo

+0

感謝您的回答。另一種方法是在寫我的問題時編寫集成測試。當然,測試將取決於AST生成器和文檔創建代碼。 – Danil