在不运行脚本的情况下检查是否可以进行所有导入

时间:2018-04-27 09:58:37

标签: python

问题描述

我有一个庞大的项目,里面有很多python文件。不幸的是,这个项目没有被测试正确覆盖,我们面临着......进口问题。)

我的目标是执行'干运行'所有python脚本(不执行它们)只是为了确保所有模块都已正确导入(特别是这些本地模块)并列出所有无法导入的无效脚本。

实施例

让我举一个例子(script1.py):

from NON_EXISTING_local_module import non_existing_class
import time


def test_something():
    time.sleep(10)


test_something()

导入NON_EXISTING_local_module是不可能的,就像它在Python中通常由ImportError异常(script1.py标记为无效)

一样

第二个例子(script2.py):

from EXSISTING_local_module import existing_class
import time


def test_something():
    time.sleep(10)


test_something()

在这里,我想看到一切都很好(没有导入问题)并且方法test_something()根本没有执行(无需等待10秒)(script2.py标记为有效)

我的研究

我知道有一个选项可以执行并获得结果:

python -c 'import module'

但它不适用于本地模块

更多RobotFramework有像--dryrun这样的选项,如下所述: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#dry-run 我正在寻找完全相同的解决方案,但是对于纯python脚本。

提前感谢任何提示!

0 个答案:

没有答案