微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将变量从 __init__ 导入单元测试脚本是否正确?

如何解决将变量从 __init__ 导入单元测试脚本是否正确?

假设我们有一个具有以下结构的目录:

10 + "b" + "a" + "b"

测试包 tests/ |-- __init__.py |-- test_foo.py 的地方。在 foo 中,变量 test_foo.py 被定义(并修改)以备后用。

现在假设我们有大约 20 个 bar 而不是一个文件,其中 test_fooX.py 在每个测试中都被初始化。

bar 中启动 bar 并在每次测试中直接导入它是否是一种好习惯?例如

__init__.py

蟒蛇之禅提到:

显式优于隐式。

在每个脚本中定义 from __init__ import bar 将是显式的方式。但是,导入变量会改进测试/项目的结构。

一个真实的场景是一个记录器(从 bar 导入),它的日志记录级别需要改变;或特定目录的位置,而不是每次都定义它。

解决方法

__init__.py 没有什么真正隐含的内容。一个包就是一个模块。因为包由包含名为 __init__.py 的文件的目录实现,该文件包含模块 tests 的内容,其他文件实现属于同一包的子模块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。