我找不到任何示例,我将尝试具体说明问题:
鉴于 micropython 具有某种形式的单元测试库,我该如何做猴子补丁或类似的东西来替换测试用例中的系统对象输出或输入。
希望编写的测试用例在不更改实际实现代码的情况下无法模拟,仅用于测试,即使用补丁替换为模拟的网络或文件系统对象 - 或类似的手动方式覆盖系统对象以进行测试。
我找不到任何示例,我将尝试具体说明问题:
鉴于 micropython 具有某种形式的单元测试库,我该如何做猴子补丁或类似的东西来替换测试用例中的系统对象输出或输入。
希望编写的测试用例在不更改实际实现代码的情况下无法模拟,仅用于测试,即使用补丁替换为模拟的网络或文件系统对象 - 或类似的手动方式覆盖系统对象以进行测试。
您可以尝试我在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