如果我有简单的功能,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