我正在努力更好地对我的代码进行单元测试,但现在我正在编写大量处理远程系统的代码。 SNMP、WMI 之类的。对于大多数类,我可以模拟对象来测试它们,但是如何处理真实系统的单元测试呢?例如,如果我的类出去并获取服务器的 Win32_LogicalDisk 对象,我如何可能对其进行单元测试?
假设您的意思是“我如何测试难以/不可能模拟的事物”:
如果您有一个类“出去并获取服务器的 Win32_LogicalDisk 对象”并执行其他操作(以某种方式消耗“Win32_LogicalDisk”对象),假设您想要测试消耗该对象的类的各个部分,那么您可以可以使用依赖注入 http://en.wikipedia.org/wiki/Dependency_injection允许您模拟“Win32_LogicalDisk”对象。例如:
class LogicalDiskConsumer(object):
def __init__(self, arg1, arg2, LogicalDiskFactory)
self.arg1=arg1
self.arg2=arg2
self.LogicalDisk=LogicalDiskFactory()
def consumedisk(self):
self.LogicalDisk.someaction()
然后在单元测试代码中,传入一个“LogicalDiskFactory”,它返回“Win32_LogicalDisk”的模拟对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)