2009-11-05 70 views
3

我正在尋找從NUnit移動到MbUnit的單元測試框架,因爲它有一些我喜歡的功能,其中之一是可並行化的屬性。如果我用這個屬性標記測試會發生什麼MbUnit並行化測試

i,是否所有實例變量只對自己的線程可用或者是否共享? ii,一次會執行多少次測試?它取決於處理器/內核的數量嗎?

提出第一個問題的原因是,作爲一個測試,簡單地交換了MbUnit框架的Nunit框架,並且在特定的測試類中,測試集在並行運行時趨於失敗,並在按順序運行時失敗。這些測試在課程級別使用變量,然後在[設置]中進行設置。

+0

我感到困惑的聲明「這些測試在課堂上使用變量,然後在[設置]中設置」。爲什麼要在Test類的類級聲明一個變量?我不認爲,這就是你應該如何編寫測試(即使你使用的是NUnit)。 – shahkalpesh 2009-11-05 14:03:43

+0

當您的測試有共同的設置代碼時,這將消除重複。但有人會說,在每次測試開始時添加一個方法調用就會變得更加清晰。 – GraemeF 2009-11-13 07:10:13

回答

1

測試在測試夾具類的單個實例上運行,因此實例字段將被共享。

默認情況下,並行度等於您擁有的CPU數量,或最少爲2。 您可以在裝配級使用DegreeOfParallelism屬性來覆蓋此屬性。

查看this blog post瞭解詳細信息和一些示例,向您展示如何使用各種屬性。