pytest可以忽略导入依赖项吗?我想单元测试Pi cod

2024-04-28 20:59:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用(据我所知)树莓Pi特定库(smbus)为我的项目。我想用pytest在我的机器上和学校服务器上的gitlab ci上测试软件。没关系,但这是俱乐部的项目,不是家庭作业。你知道吗

我的环境描述:

我正在使用ubuntu17.04/PyCharm作为我的开发环境。 我可以访问的gitlab runner是基于docker的(我选择环境)。你知道吗

以上两种都不具备smbus或i2c通信的能力。你知道吗

我想知道是否可以告诉pytest忽略smbus导入而不在导入周围添加try/except?你知道吗

谢谢。你知道吗


Tags: 项目服务器机器ci环境pytestgitlabpi
1条回答
网友
1楼 · 发布于 2024-04-28 20:59:58

如果您真的想避免try/accept,您可以让一个函数返回导入。。。你知道吗

def get_smbus():
    import smbus
    return smbus

smbus = get_smbus()

这使您能够使用mock库轻松地覆盖get_smbus函数。你知道吗

但我个人会使用try/except并捕获ImportError。你知道吗

相关问题 更多 >