尝试导入给定根目录下的所有模块

import_all的Python项目详细描述


项目中的三行单元测试将自动导入 其中的每个python文件和模块,可以选择测试警告。

为什么?

不是每个文件都包含在单元测试中;单元测试不会报告任何新的 出现的警告。

import_all是一个单独的文件库,它有一个自动执行的单元测试 导入项目中的每个python文件和模块。

我把include_all放入每个新项目中。它需要几秒钟,这是不可避免的 早期发现很多愚蠢的问题,而且不需要维护。

如何使用import_all

pip install import_all安装,并通过添加 this tiny fileraw) 项目中的任何位置-看起来如下:

importimport_allclassImportAllTest(import_all.ImportAllTest):pass

大多数时候你只需要这些。

重写属性

ImportAllTest有八个可重写的属性。

  • ALL_SUBDIRECTORIES: Whether to search all subdirectories
  • CATCH_EXCEPTIONS: Catch all exceptions and report at the end
  • EXCLUDE: Which modules to exclude
  • EXPECTED_TO_FAIL: Which modules are expected to fail
  • INCLUDE: Which modules to exclude
  • PROJECT_PATHS: Roots for searching subdirectories
  • SKIP_PREFIXES: Skip subdirectories that start with these prefixes
  • WARNINGS_ACTION: What to do on warnings

每个属性的完整文档是here

要永久重写测试属性,请在派生类中设置它,如 这个:

importimport_allclassImportAllTest(import_all.ImportAllTest):WARNINGS_ACTION='error'

若要临时重写测试属性,请在 运行测试,如下所示:

$ _IMPORT_ALL_WARNINGS_ACTION=error pytest

使用import_all.py作为独立程序

文件import_all.py是可执行的,安装在路径中 pip。您可以在正在评估或调试的项目中使用它 像这样:

$ import_all.py [directory ..directory]

如果未指定目录,则使用当前目录。

为了方便起见,可以使用环境变量设置上述属性 每个属性也有命令行标志,因此您可以编写:

$ import_all.py --catch_exceptions --all_directories --exclude=foo/bar

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我想访问同一类的不同函数中的函数变量   创建字段/值哈希映射的java反射   java Velocity工具向后兼容性?   cmd JAVA运行时错误:发生JNI错误   java spring引导示例hateoas不工作   java为什么Android Studio和gradle可以使用不同的类路径进行单元测试?   java Selenium Firefox驱动程序初始化   java如何在jar中重新定位gradle依赖项的包   java为什么我的单线程hello world应用程序使用22个OS线程?   正则表达式替换Java字符串中的特殊字符   在任何派生类的构造函数之后运行方法的java   java从输入字符串中找出日期   带有libGdx(Java)音乐的安卓studio可以在Android模拟器上工作,但不能在桌面上工作   java我在getconnection的参数方面有错误吗?   java使用JFileChooser访问选定文件   java如何将Json解析为另一个活动   java使用Resources for html和rest server   java更新列表,列表内容来自循环中的方法   java如何在GLSL中读取完整范围的32位整数纹理