Skip to main content

基于模块间导入的软件架构测试框架

项目描述

欢迎来到 PyTestArch

PyTestArch 是一个开源库,允许用户定义架构规则并针对它们测试他们的代码。它通常受到ArchUnit的启发。

安装指南

PyTestArch 可通过PyPI获得,并且可以通过例如 pip: 安装pip install pytestarch

使用指南

测试架构规则需要三个步骤:

  1. 创建要测试的源代码的可评估表示
from pytestarch.pytestarch import get_evaluable_architecture

evaluable = get_evaluable_architecture("/home/dummy/project", "/home/dummy/project/src")

这将扫描 /home/dummy/project/src 下的所有 python 文件以进行导入,并构建一个内部表示,以后可以查询。第一个参数 /home/dummy/project 帮助 PyTestArch 区分内部和外部依赖项。该可评估对象可用于多个架构规则检查;如果您使用的是pytest,则可以为该可评估对象使用固定装置。

  1. 定义架构规则
from pytestarch.query_language.base_language import Rule

rule = Rule()
        .modules_that()
        .are_named("src.moduleB")
        .should_not()
        .be_imported_by_modules_that()
        .are_sub_modules_of("src.moduleA"),

这条规则代表了一个名为“src.moduleB”的模块不应该被任何作为“src.moduleA”子模块的模块导入的架构要求,不包括“src.moduleA”本身。

  1. 根据此规则评估您的代码
rule.assert_applies(evaluable)

而已!

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

PyTestArch-1.0.1.tar.gz (20.5 kB 查看哈希

已上传 source

内置分布

PyTestArch-1.0.1-py3-none-any.whl (25.6 kB 查看哈希

已上传 py3