Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用flask测试客户端测试EVE API服务器时随机404_Python_Flask_Pytest_Eve - Fatal编程技术网

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

Python 使用flask测试客户端测试EVE API服务器时随机404,python,flask,pytest,eve,Python,Flask,Pytest,Eve,我有一个使用EVE框架构建的API服务器。 我正在使用py.test框架进行测试。我遇到了一个奇怪的问题 如果我使用flask的test\u客户端测试我的API,我会得到不可预测的结果。i、 e.如果我连续运行py.test命令3次,从终端背靠背运行(对测试没有任何更改),我会得到不同的结果,例如: 3 passed, 5 failed 5 passed, 3 failed 8 passed, 0 failed URL(资源端点)的404测试失败 如果我使用请求库而不是test\u客户端,则

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

如果我使用flask的
test\u客户端测试我的API,我会得到不可预测的结果。i、 e.如果我连续运行
py.test
命令3次,从终端背靠背运行(对测试没有任何更改),我会得到不同的结果,例如:

3 passed, 5 failed 
5 passed, 3 failed
8 passed, 0 failed
URL(资源端点)的
404
测试失败

如果我使用
请求
库而不是
test\u客户端
,则一切正常,即每次运行测试时,
8通过

我有一个类似于以下的代码:

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\u client
而不是
requests

我最初认为这与时间有关(
test\u client
测试运行速度比
请求快),但
404
令人困惑。 为什么端点会消失

--


可能相关,但令牌不是我的URL的一部分。它是标题的一部分。

当您将app.test\u client()作为client:client.post(…)
使用时,行为是否相同?@Peter我没有尝试过。会让你知道的。@mandar我也面临同样的问题,你是不是在代理背后建立网络server@hemraj不,不是在代理后面。但这不重要。这都是本地测试。服务器和测试客户端都在我的笔记本电脑上。