(猴子)补丁进行微蟒单元测试

时间:2017-11-23 01:30:51

标签: python unit-testing monkeypatching micropython

我找不到任何例子,我会尝试提出具体的问题:

鉴于micropython有某种形式的单元测试库,我怎么能做猴子补丁或类似的替换系统对象输出或在测试用例中输入。

希望编写无法模拟的测试用例,而不是为了测试而改变实际的实现代码,即使用补丁替换为模拟的网络或文件系统对象 - 或者为了测试目的而覆盖系统对象的类似手动方式。

1 个答案:

答案 0 :(得分:0)

您可以尝试我在https://forum.micropython.org/viewtopic.php?t=4475#p25925

中介绍的技术
# load in the module for patching (make sure this gets run before other imports)
import modulename
# create a modified version of modulename, cherry-picking from the real thing
patchedmodule = ...
# replace the module with your modified one for all future imports
sys.modules['modulename']=patchedmodule