1
我有一個方法與以下簽名:在這種情況下,我應該單元測試所有可能的輸入嗎?
ConfigTreeNode FilterFirstChild<T>(Func<ConfigTreeNode, T> getProp, T key)
的用法如下:
MyObj.FilterFirstChild(x => x.Prop1, "foo") //assuiming Prop1 is a string
主叫方可以代替Prop1
使用任何屬性(即Prop2
,Prop3
)。
現在我的問題是我應該寫多個單元測試涵蓋所有可能的屬性?
即
public void FilterFirstChild_GivenChildProp1_ReturnsCorrectChild()
public void FilterFirstChild_GivenChildProp2_ReturnsCorrectChild()
public void FilterFirstChild_GivenChildProp3_ReturnsCorrectChild()
或者我應該只寫一個測試,測試的一般工作行爲
即
public void FilterFirstChild_GivenChildProp_ReturnsCorrectChild() // not prop1, prop2... etc
道歉,如果這是一個愚蠢的問題。