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

How to set timeout as variable in Tavern test?

我有两个用于测试的 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

它使用 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}"

从字符串转换类型