当前位置:  开发笔记 > 运维 > 正文

使用网络依赖代码进行单元测试

如何解决《使用网络依赖代码进行单元测试》经验,为你挑选了1个好方法。

我正在尝试更好地对我的代码进行单元测试,但是现在我正在编写大量处理远程系统的代码.SNMP,WMI,那种事情.对于大多数类,我可以模拟对象来测试它们,但是如何处理单元测试真实系统?例如,如果我的类出去并获取服务器的Win32_LogicalDisk对象,我怎么可能对它进行单元测试?



1> 小智..:

假设你的意思是"我如何测试那些很难/不可能模拟的东西":

如果你有一个"熄灭并获取服务器的Win32_LogicalDisk对象"的类并执行其他操作(以某种方式使用'Win32_LogicalDisk'对象),假设您要测试使用此对象的类的各个部分,可以使用依赖注入来允许您模拟"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'的模拟对象.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有