如果我有簡單的功能,fun1
和fun2
,這需要一些參數測試:蟒單元測試與子功能
class TestOne(unittest.TestCase):
def test_func1(self):
a = 0
b = 1
c = 2
self.assertEquals(c, fun1(a,b))
def test_fun2(self):
d = 0
e = 1
f = 2
self.assertEquals(f, fun2(d,e))
和用於第三功能的測試,這需要FUN1的輸出和FUN2作爲輸入
class TestTwo(unittest.TestCase):
def test_fun3(self):
a = 0
b = 1
d = 0
e = 1
g = 3
self.assertEquals(g, fun3(fun1(a,b), fun2(d,e)))
什麼是避免重寫第一個函數參數的最佳方法?
我可以問你爲什麼要在'fun3'的單元測試中使用'fun1'和'fun2'的結果嗎?爲什麼不把fun1和fun2的預期結果放入fun3的測試中?換句話說,如果'fun1(0,1)'返回5並且'fun2(0,1)'返回6,則將'fun3'的測試寫爲'fun3(5,6)'。 –
因爲,從返回值來看,這些功能可能有副作用。 –
@MarkHildreth,因爲我在'fun1'和'fun2'上測試了很多值,在某些情況下,值的差異在最後一位小數,但我有同樣的問題,使用函數作爲單位的輸入是一個好主意測試? – JuanPablo