简单的函数单元测试我是理解的,但是关于Mock,我一直不太能理解它的使用。
Mock其中一个功能是用来模拟某些复杂的对象,所以我的疑问是这样的:
1.如果一个函数get_from_A需要传入参数A,A是一个复杂的对象,然后从A中获取各种属性,
A中的某个属性也可能是某个复杂的对象B,我们也需要获取B的属性。
def get_from_A(A)
assert(A.x,1) //只是简单表达
assert(A.B.y,"yy")
我的理解是,需要Mock一个A对象,然后将A对象传入,但是A对象如此复杂,对象中还有对象,这种情况能Mock吗?这种函数需要单元测试吗?
2.关于单元测试,比如有一个函数功能是打开一个文件,然后获取文件行数,那么该怎么对这个函数进行单元测试,需要真正打开一个文件?