2013-06-01 123 views
0

我正在編寫一個爲數據庫編寫ADO.NET代碼的項目。源代碼位於:GenTools。它從數據庫讀取存儲過程和表並輸出C#代碼。我使用NUnit向項目添加了單元測試,並在測試生成的代碼時遇到了絆腳石。測試動態生成的代碼

現在,我按照以下步驟來測試生成的代碼:

  1. 生成代碼
  2. 生成的代碼編譯成彙編
  3. 加載組件
  4. 使用反射來測試生成代碼

這種方法的問題是測試必須按順序進行。如果前一次失敗,下一步將永遠不會成功,並且沒有任何步驟可以被排除。一個例子是here

我不喜歡這種設置,因爲一旦到達步驟#4,對生成的代碼的失敗測試將阻止其餘的運行。

有沒有辦法確保前3個步驟順序運行,然後讓步驟#4中的所有測試分離出來?我不介意切換測試框架。

+0

也許你正在尋找運行[TestFixtureSetUp]第3步? – YK1

+0

你有沒有試過CodeDom? http://msdn.microsoft.com/en-us/library/y2k85ax6(v=vs.110).aspx –

+0

我在步驟1,2和3([示例](https://github.com) /chris-cartwright/GenTools/blob/master/UnitTests/GenTable.cs#L127)),這在TestFixtureSetUp中是沒有意義的。如果我可以指定測試裝置的順序,那麼解決方案就可以工作。 –

回答