我们的产品导入了库winreg
。
我正在编写一个我想模拟整个库的测试。
我不想模拟特定的功能,也不想枚举所有功能并模拟它们。我想模拟整个库,以便导入或使用的任何库实例都使用模拟。
这可能吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
这是一个棘手的问题。我认为您最好的选择是将真实库“ winreg”放在一个文件夹位置,并将模拟库放在另一个位置,并在运行单元测试时进行一些偷偷摸摸的PYTHONPATH操作。
文件夹结构并假设winreg是python模块,但是如果存在文件夹,仍然可以使用。
size
在Linux系统上执行单元测试时:
real/winreg.py
mock/winreg.py
运行常规代码时,将PYTHONPATH翻转回“真实”库。您只需要确保在运行单元测试时未在PYTHONPATH中拾取真实库,这可能会有些麻烦,具体取决于您的设置。