在Python中,使用父目录中的其他模块的模块(在子目录中)上编写单元测试的正确方法是使用相对导入。
相对导入是一种在Python中引用其他模块的方法,它使用点号(.)表示相对路径。在子目录中编写单元测试时,可以使用相对导入来引用父目录中的模块。
以下是正确的方法:
__init__.py
的空文件,以将该目录标记为Python包。test_*.py
的测试文件,其中*
是要测试的模块的名称。module.py
模块,可以使用以下语法:from .. import module
这将从当前子目录的父目录中导入module.py
模块。
以下是一个示例:
假设目录结构如下:
project/
├─ module.py
└─ tests/
└─ test_module.py
module.py
中的代码:
def add(a, b):
return a + b
test_module.py
中的代码:
from .. import module
def test_add():
assert module.add(2, 3) == 5
在这个示例中,test_module.py
位于tests
子目录中,使用相对导入来引用父目录中的module.py
模块。然后,编写了一个名为test_add
的单元测试函数来测试add
函数的功能。
注意:在运行单元测试时,需要确保当前工作目录位于项目的根目录下,以便正确解析相对导入。
推荐的腾讯云相关产品:腾讯云函数(Serverless Cloud Function)
腾讯云函数是一种无服务器计算服务,可以让您在云端运行代码而无需管理服务器。您可以使用腾讯云函数来运行Python代码,并在其中使用相对导入来引用父目录中的模块。腾讯云函数提供了灵活的触发器和事件源,可以根据需要自动触发函数的执行。
腾讯云函数产品介绍链接地址:https://cloud.tencent.com/product/scf
云+社区技术沙龙[第4期]
云原生正发声
云+社区技术沙龙[第3期]
北极星训练营
云+社区技术沙龙[第14期]
云+社区技术沙龙[第16期]
云+社区技术沙龙[第22期]
领取专属 10元无门槛券
手把手带您无忧上云