使用flask测试客户端测试EVE API服务器时的随机404

时间:2015-09-08 07:38:09

标签: python flask pytest eve

我使用EVE框架构建了API服务器。 我正在使用py.test框架进行测试。我遇到了一个奇怪的问题。

如果我使用烧瓶test_client测试我的API,我会得到不可预知的结果。即如果我连续3次运行py.test命令,从终端背对背(没有任何测试更改),我会得到不同的结果,例如。

3 passed, 5 failed 
5 passed, 3 failed
8 passed, 0 failed

针对URL(资源端点)的404失败的测试

如果我使用requests库而不是test_client,则每次运行测试时一切都正常,即8 passed

我有类似以下的代码:

client = app.test_client()

# POST_METHOD = client.post
# BASE_URL = '/'
# GET_METHOD = client.get

POST_METHOD = requests.post
BASE_URL = 'http://' + app.config.get('SERVER_NAME') + '/'
GET_METHOD = requests.get
...
...
...
url = BASE_URL + 'resource1'
...
...
r = POST_METHOD(url, data=json.dumps(somedata), headers=headers)

我可以通过简单地从前3行切换注释和未注释的代码,并使用test_client代替requests

来重现此问题

我最初认为这与时间有关(test_client测试运行速度超过requests)但404令人费解。 为什么端点消失

-

this可能相关,但令牌不属于我的网址。它是标题的一部分。

0 个答案:

没有答案