如何在Tavern测试中将超时设置为变量?

时间:2019-09-04 07:07:45

标签: python pytest tavern

我有两个用于测试的Yaml文件,common.yamltest.yamlcommon.yaml中定义了一些变量:

name: Common test information
description: Common data used by test cases

variables:
  url: http://localhost:8080/v2
  timeout: 30

在测试文件中:

includes:
  - !include common.yaml

stages:
  - name: test
    request:
      url: "{url:s}/test"
      method: GET
      timeout: "{timeout:d}"
    response:
      status_code: 200

它使用timeout文件上定义的common。运行测试时出现此错误:

tavern.util.exceptions.BadSchemaError: 'timeout' must be either a float/int or a 2-tuple of floats/ints - got '{timeout:d}' (type <class 'str'>)

Tavern似乎无法识别timeout的类型。我最后指定的类型为d,但是为什么它没有显示。

1 个答案:

答案 0 :(得分:0)

使用超时:!int“ {timeout:d}”

或超时:!float“ {timeout:f}”

从字符串转换类型