我使用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可能相关,但令牌不属于我的网址。它是标题的一部分。