“PyCharm知道在测试中你在单元测试中进行导入而不是在模块启动时”是"Getting Started with PyCharm 7/8: Testing"视频中有关PyCharm提供的测试功能的引用。
来自PEP8:
导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,以及模块全局变量和常量之前。
In this other SO question,在python中导入的概念已经作为一个泛函概念得到了解决。但是,单元测试时没有提到特殊情况。
我们从导入内部测试而不是模块开始时获得了哪些优势?
如果不同的测试使用相同的模块,那么每次都必须导入模块吗?
答案 0 :(得分:0)
根据this question,最好将import
放在模块的开头。
如果您将import
放在功能开头,import
只能在此功能中使用,那么您将无法在此功能之外使用它{ {1}}。考虑这个例子:
function
此外,如果您在模块内部运行def func():
import time
time.sleep(1)
func()
time.sleep(1) # NameError: name 'time' is not defined
,则每次调用函数as mentioned it this question too时都会导入它。
我认为只有在您确实希望测试此导入具体情况时才应将导入放在import
内。