dredd api测试框架的python钩子桥

dredd_hooks的Python项目详细描述


https://travis-ci.org/apiaryio/dredd-hooks-python.svg?branch=master

关于

此包包含Dredd API Testing Framework之间的桥 和python环境以简化测试挂钩的实现 由Dredd提供。用python编写Dredd钩子,将API Blueprint与python项目粘合在一起

用法示例:

importdredd_hooksashooks@hooks.before_alldeffoo(transactions):fortintransactions:t['request']['headers']['content-type']='application/json'

下载

你可以在PyPI看到所有的available versions

来源(tar.gz或checkout)

打开存档文件,输入dredd-hooks-python目录并运行:

python setup.py install

设置工具/PyPI

或者可以从PyPI手动安装 按上述方式下载文件并安装,或使用:

pip install dredd_hooks

用法

  1. hooks.py
  2. 中创建挂钩文件
importdredd_hooksashooks@hooks.before("Machines > Machines collection > Get Machines")defbefore_hook(transaction):transaction['skip']="true"
  1. 用dredd运行它:

    $ dredd apiary.apib localhost:3000 --language python --hookfiles ./hooks.py
    

API

模块dredd_hooks定义以下修饰符beforeafterbefore_allafter_allbefore_eachafter_eachbefore_validationbefore_each_validationbeforebefore_validationafter挂钩由transaction name标识。

你可以把那些装饰工组合在一起。所以可以使用一个函数 对于不同的钩子,但是要注意一些钩子有一个列表 事务作为参数而不是单个事务。

importdredd_hooksashooks@hooks.after_all@hooks.before_all@hooks.before_each@hooks.after_each@hooks.before_validation('Machines > Machines collection > Get Machines')@hooks.before("Machines > Machines collection > Get Machines")@hooks.after("Machines > Machines collection > Get Machines")defmulti_hook_function(trans):ifisinstance(trans,list):print('called with list of transactions')else:iftrans['name']=='Machines > Machines collection > Get Machines':trans['skip']='true'

用法与sync JS hooks API

贡献

  1. 叉开它
  2. 创建功能分支(git checkout -bmy-newfeature
  3. 提交更改(git commit -am 'Add some feature'
  4. 推动(git push origin my-new-feature
  5. 创建新的拉取请求

测试

不要忘记测试,请参见test目录。项目使用 unittest包和tox

对于带有Dredd接口的集成测试,项目使用基于ruby的 aruba所以要让它运行make 确保已安装Ruby,然后执行以下操作:

$ bundle install

设置完成后,您可以使用以下命令轻松运行测试:

$ bundle exec cucumber

有关集成测试的更多详细信息,请参见 dredd-hooks-template repo

copyright:Copyright (c) 2015 Apiary Czech Republic, s.r.o.
license:MIT, see LICENSE for details.

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

推荐PyPI第三方库


热门话题
java为什么要明确定义KafkaTemplate bean?   JAVAlang.IllegalStateException:Observer 安卓。小装置。AbsListView$AdapterDataSetObserver未注册   Java:Eclipse中未加载图像   java Tomcat并发   用于java的windows mobile远程api   在Java中返回超级构造函数之前括号的超类重要性?   java中的RedisCommandTimeoutException太多   java是否使用反射确定一个方法是否覆盖另一个?   java如何在没有jlist的情况下清空jlist。removeall()   java复选框值和useBean标记   java拆分IP八位字节   如何转换基于时间的java。util。UUID到日期时间   jvm分段错误Java进程   joda LocalTime的java Jackson serializaton   java ActionListener未实现   WHERE子句中的MySQL语句中出现java错误   java如何在材料设计领域创建主/细节