将测试输出与存储在文件中的模式匹配

pytest-matcher的Python项目详细描述


这是什么

Build StatusLatest Release

这是一个pytest插件,它提供了两个要匹配的fixture 根据存储在文件中的模式测试输出。

该插件使用以下cli选项扩展pytest:

  • --pm-save-patterns–将输出存储到模式文件(而不是检查);
  • --pm-patterns-base-dir指定一个基本目录,在其中查找模式文件。

模式文件存储在一个基本目录中,其他路径基于测试模块 名称、测试类名和/或测试函数名如下:

<base-dir>/<test-module-name>/[test-class-name/]<test-function-name>

注意,对于非类测试函数,test class name部分不存在。

快速启动

插件提供expected_outexpected_err 命名的fixture函数。

deftest_foo(capfd,expected_out):print('foo')stdout,stderr=capfd.readouterr()assertstdout==expected_out

pm-patterns-base-dir选项添加到pytest.ini文件(和pytest节) 例如指向test/data/expected。对于第一次pytest运行,它将 失败,因为不存在预期的模式文件。写它可以用 pytestcli:

$ pytest --pm-save-patterns test/test_foo.py::test_foo

查看存储的模式文件并添加到VCS中。

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

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么