2016-09-15 89 views
1

我在Visual Studio(TestTools)中實現了一些測試用例。我必須在其中一些中重用一個共同的邏輯。所以我決定把這個邏輯提取成一個輔助方法。從這些輔助方法調用Assert.AreEqual(..)是一個好習慣嗎? 例如(編輯):斷言輔助方法

[TestMethod] 
public void myTest() 
{ 
    ... 
    helperMethod(); 
    ... 
} 

private void helperMethod(int a) 
{ 
    ... 
    Assert.AreEqual("x", str); 
    ... 
    Assert.AreEqual("y", str2); 
    ... 
} 

回答

2

在我看來單元測試仍在爭論因此最好的做法,我敢肯定,你可能會得到雙方的有關最佳做法是在這種情況下,我有什麼反饋我要避免稱重英寸

這就是說你有沒有考慮從輔助方法返回值,然後在主單元測試中聲明?

此外,我個人的偏好是將所有助手方法標記爲私人/內部和/或將它們放置在單獨的助手類中。

最後,我可以在你的例子中看到你沒有傳遞任何參數給你的幫助方法。這可能只是一個匆忙寫下的例子,但如果不讓我指出大多數人都同意的最佳做法。永遠不要讓單元測試方法或輔助方法依賴於類的值。換句話說,所有的單元測試方法和他們的助手應該盡力成爲pure

+0

我編輯了代碼。我在我的代碼中使用私人。我在輔助方法中使用參數。問題是我必須檢查serveral插入到這個幫助器方法並返回一個不可行的值(除非創建了自定義對象) – Jesus

+0

此外,創建自定義對象以及任何良好的SOLID代碼以支持您的單元測試沒有任何問題。 –