【发布时间】:2018-03-30 17:15:13
【问题描述】:
当我需要获取一些数据并在其他请求中使用时,我可以使用哪些模式进行 API 测试?
下一个案例举例:
def test_item_get():
r = get_json('/item')
assert r.status_code == 200
def test_item_update():
r = get_json('/item')
assert r.status_code == 200
item_uuid = r.json[0]['uuid']
assert is_uuid(item_uuid)
r = put_json('/item/{}'.format(item_uuid), {'description': 'New desc'})
assert r.status_code == 200
def test_item_manager():
r = get_json('/item')
assert r.status_code == 200
item_uuid = r.json[0]['uuid']
assert is_uuid(item_uuid)
r = put_json('/item/{}'.format(item_uuid), {'description': 'New desc'})
assert r.status_code == 200
r = get_json('/item/{}'.format(item_uuid))
assert r.status_code == 200
assert r.json['description'] = 'New desc'
r = delete_json('/item/{}'.format(item_uuid))
assert r.status_code == 200
assert r.json['result'] == True
r = delete_json('/item/{}'.format(item_uuid))
assert r.status_code == 404
看来我应该将test_item_manager 分成更小的部分,但我不确定该选择哪种方式。
完美,如果有pytest 或unittest 的方法,但其他测试模块甚至是类似任务解决方案的源代码链接都会很好。
【问题讨论】:
标签: python testing integration-testing pytest python-unittest