基于模块间导入的软件架构测试框架
项目描述
欢迎来到 PyTestArch
PyTestArch 是一个开源库,允许用户定义架构规则并针对它们测试他们的代码。它通常受到ArchUnit的启发。
安装指南
PyTestArch 可通过PyPI获得,并且可以通过例如 pip: 安装pip install pytestarch。
使用指南
测试架构规则需要三个步骤:
- 创建要测试的源代码的可评估表示
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,则可以为该可评估对象使用固定装置。
- 定义架构规则
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”本身。
- 根据此规则评估您的代码
rule.assert_applies(evaluable)
而已!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
PyTestArch-1.0.1.tar.gz
(20.5 kB
查看哈希)
内置分布
PyTestArch-1.0.1-py3-none-any.whl
(25.6 kB
查看哈希)
关
PyTestArch -1.0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | e5122ce9533de8490e0ba5a3167fcfda9f1a0ed3490d58e123176cbcc1a8b1fc |
|
| MD5 | 0d92a56f582d8a980977583c212aed11 |
|
| 布莱克2-256 | cf8cacf35fc77c036a08303d3659125a9870c80a67d051ed825d8b46395dd433 |
关
PyTestArch -1.0.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | dbb491b8246a2e47be699ba91164e373e3c122cea408e2ccd74d721ddf3f091c |
|
| MD5 | bb9ca6f233326388870cf8199dc8f69b |
|
| 布莱克2-256 | 99ceaaacd20f5cf426eab81427c58d0ff39a8bb0671b1b9d15788f2bfe25003a |