假设有2个终点需要检验。
端点1返回需要在对端点2的请求中使用的数据。
如何有效地测试2个端点?
# file_1.py
def test_endpoint_1():
r = requests.get(...)
assert r.status_code == 200
maybe some JSON Schema validation
return r
# file_2.py
from file_1 import test_endpoint_1
def test_endpoint_2():
needed_data = test_endpoint_1()
r = requests.get(..., payload=needed_data.json())
assert r.status_code == 200
maybe some JSON Schema validation
上面的方法还可以,但是如果我执行测试套件,我们会测试endpoint_1两次。我可以更改test_endpoint_1()的名称来避免这种情况,但是也许有一种更简单、更优雅的方法?
3条答案
按热度按时间iqih9akk1#
访问端点1只是为端点2获取合适有效负载的一种方法,另一种方法是只提供硬编码的有效负载。
7cjasjjr2#
硬编码值
一般来说,我们“假设”依赖项工作正常。在这种情况下,保持简单并在测试中创建一个硬编码值。
试验夹具
如果你在很多测试中都需要这个值,那么创建一个fixture来代替,这样你就可以在一个地方编辑endpoint_2的“有效值”,而不是在依赖它的每个测试中修改它。
2izufjch3#
只需将其放在一个单独的函数中: