我正在测试一个 REST API,它可以处理不同的请求,例如,有日期的和无日期的。请求有一个名为 的字段request_type
。我想知道在假设中编写测试的最佳方法是什么:
我可以写两个睾丸,一个是有日期的,一个是无日期的。
但是对于一个共同的属性,我可以写一个与pytest.mark.parametrize
. 问题是请求策略如何req_type
在@given
.
@pytest.mark.parameterize('req_type', ['dated', 'dateless'])
@given(req=requests())
def test_process_request(req, req_type):
# override the parameter req_type in req with input req_type
pass
有没有办法像参数化@given(req=requests(req_type))
?还是我应该随机生成带有日期和无日期的请求并通过测试?