灵活的元数据格式

fmf的Python项目详细描述


灵活的元数据格式

说明

fmfpython模块和命令行工具实现了 在纯文本文件中定义元数据的灵活格式 可以存储在靠近源代码的位置,并在 支持继承的分层方式。

尽管这个提议最初源于用户故事 以测试执行为中心,格式是通用的,因此 可用于更广泛的场景,例如测试覆盖映射。

使用这种方法还可以将两个测试结合起来 执行元数据和测试覆盖率信息。多亏了 弹性和层次结构它提供了组织数据的能力 在防止重复的同时,将其转换为大小合适的文本文档。

概要

命令行的使用很简单:

fmf command [options]

有以下可用命令:

fmf ls      List identifiers of available objects
fmf show    Show metadata of available objects
fmf init    Initialize a new metadata tree

示例

列出存储在元数据树中的所有对象的名称:

fmf ls

显示所有测试元数据(定义了“test”属性):

fmf show --key test

显示所有树节点的元数据(不仅仅是叶):

fmf show --key test --whole

列出/recursion测试的所有属性:

fmf show --key test --name /recursion

显示所有涵盖的要求:

fmf show --key requirement --key coverage

搜索定义了Tier1标记的所有测试,并显示 所发现内容的摘要:

fmf show --key test --filter tags:Tier1 --verbose

使用任意的python表达式访问更深层的对象和 创建更复杂的条件:

fmf show --condition "execute['how'] == 'shell'"

在当前目录中初始化新的元数据树:

fmf init

检查各个命令的帮助消息以获取 可用选项。

选项

下面是最常用的选项列表。

选择

限制应列出的元数据。

--key=KEYSKey content definition (required attributes)
--name=NAMESList objects with name matching regular expression
--filter=FLTRSApply advanced filter when selecting objects
--condition=EXPR
Use arbitrary Python expression for filtering
--wholeConsider the whole tree (leaves only by default)

对于过滤,也可以使用正则表达式。见 pydoc fmf.filter用于高级筛选选项。

格式

选择显示元数据的最佳格式。

--format=FMTCustom output format using the {} expansion
--value=VALUESValues for the custom formatting string

有关自定义格式的详细信息,请参阅联机文档。

utils

各种实用程序选项。

--path PATHSPath to the metadata tree (default: current directory)
--verbosePrint additional information standard error output
--debugTurn on debugging output, do not catch exceptions

检查各个命令的帮助消息以获取 可用选项。

安装

在Fedora和Epel中提供FMF软件包:

dnf install fmf

从copr存储库安装最新版本:

dnf copr enable psss/fmf
dnf install fmf

或者使用pip(如果不是在virtualenv中,则需要sudo):

pip install fmf

有关安装选项的详细信息,请参阅文档。

作者

彼得什皮夏尔、雅库布·克里塞尔、扬·什契卡、阿洛伊斯·马赫达尔和克莱伯 罗莎。

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

推荐PyPI第三方库


热门话题
java日期格式的月和日的固定长度?   无法将java ArrayList<String>转换为字符串。   java当我使用log4j 1.2.15时,编译时出现错误;当更改为1.2.16时,一切正常   java如何使用ArgumentMatchers将任何队列告知Mockito?   如何解决“java”。Java电子邮件API中的lang.ExceptionInInitializerError   java是实例化对象名并设置其值的通用方法   java在多线程环境中,如果一个线程崩溃,如何关闭JVM?   java WebDriverManager在selenium中获取不正确版本的驱动程序   如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?   在hibernate中找不到java属性   当我用java运行调度程序时,什么都没有发生   jackson如何在java中从数据库中检索json对象   java安卓:如何在自定义适配器中设置侦听器并获取imagebutton单击的位置   java MySQLIntegrityConstraintViolationException:列“问题id”不能为空错误   JavaSpring自定义注销过滤器在注销前执行一些操作?   java如何返回常量集合   java使用subselect进行一对多分页   java二进制搜索基础。陷入无限循环