我正在寻找单元测试一个类方法,该方法对popen进行函数调用并对其执行一些操作。
from os import popen
class myclass(object):
''' Generic class. '''
def do_something(self):
ret = popen("cat some_file")
# do some work with the returned value here
return modified_ret
我需要控制从该popen调用返回的内容以测试该方法。什么是最好的解决方法?
编辑:我也有多个方法在这个单独的类中使用popen;所以,如果我可以在实例上覆盖它,而不是整个类,那将是伟大的。
答案 0 :(得分:1)
如果我正确地解释了这个问题,那么您似乎正在寻找一个用于测试的模拟库。
看看这个
What is your favorite Python mocking library?
模拟库允许您使用模拟对象替换测试中的系统部分,并对如何使用它们进行断言。