繁体   English   中英

pytest 可以忽略导入依赖吗? 我想对 Pi 代码进行单元测试

[英]Can pytest ignore import dependencies? I want to unit test Pi code

我正在为我的项目使用(据我所知)Raspberry Pi 特定库 (smbus)。 我想使用 pytest 在我的机器上和我学校服务器上的 gitlab-ci 上测试软件。 这并不重要,但这是针对俱乐部项目而不是家庭作业。

我的环境描述:

我的开发环境使用 Ubuntu 17.04/PyCharm。 我可以访问的 gitlab runner 是基于 docker 的(我选择环境)。

以上两者都没有smbus的能力或i2c comms的能力。

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

谢谢。

如果你真的想避免try / accept你可以让一个函数返回导入......

def get_smbus():
    import smbus
    return smbus

smbus = get_smbus()

这使您能够使用模拟库轻松覆盖get_smbus函数。

但我个人会使用try / except并捕获ImportError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM