检查是否所有导入都可以,而无需运行脚本

2024-04-26 21:47:35 发布

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

问题描述

我有一个很大的项目,里面有很多python文件。不幸的是,这个项目没有适当地涵盖在测试和我们面临的问题与。。。导入:)

我的目标是执行所有python脚本的“试运行”(不执行它们)以确保正确导入所有模块(尤其是这些本地模块)并列出所有无法导入的无效脚本。你知道吗

示例

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

from NON_EXISTING_local_module import non_existing_class
import time


def test_something():
    time.sleep(10)


test_something()

导入不存在的\u本地\u模块是不可能的,就像在Python中通过importErrorException(script1.py标记为invalid)正常完成一样

第二个示例(script2.py):

from EXSISTING_local_module import existing_class
import time


def test_something():
    time.sleep(10)


test_something()

在这里,我希望看到一切正常(导入没有问题)并且方法test\u something()根本没有执行(不需要等待10秒)(script2.py标记为有效)

我的研究

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

python -c 'import module'

但它不适用于本地模块

更重要的是,RobotFramework有这样的选项,如这里所描述的--dryrun: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#dry-run 我正在寻找完全相同的解决方案,但纯python脚本。你知道吗

提前谢谢你的提示!你知道吗


Tags: 模块项目frompytestimport脚本示例