如何在 Tavern 测试中将超时设置为变量?
How to set timeout as variable in Tavern test?
我有两个用于测试的 yaml 文件,common.yaml
和 test.yaml
。 common.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
它使用 common
文件中定义的 timeout
。我 运行 测试时出现此错误:
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
但为什么它不接收。
使用超时:!int "{timeout:d}"
或超时:!float "{timeout:f}"
从字符串转换类型
我有两个用于测试的 yaml 文件,common.yaml
和 test.yaml
。 common.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
它使用 common
文件中定义的 timeout
。我 运行 测试时出现此错误:
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
但为什么它不接收。
使用超时:!int "{timeout:d}"
或超时:!float "{timeout:f}"
从字符串转换类型