pytest:pytest.raises在Flask端点上似乎不起作用

时间:2019-02-09 09:27:40

标签: python pytest

我有一个简单的Flask端点,我正在尝试使用pytest进行测试。端点在请求json中期望某个参数(my_param)。看起来像这样:

api = Flask(__name__)
@api.route('/myservice', methods=['POST'])
def run_service():
  if 'my_param' not in request.get_json():
    raise Exception('The required parameter \'my_param\' is missing.')
  # rest of code here

端点按预期方式工作。但是,测试没有。这是我用于测试是否在请求中传递了必需的my_param参数的测试:

def test_raises_exception_on_missing_parameter(client):
    with pytest.raises(Exception):   
        client.post('/myservice', json={'some_param': 'aa bb cc'}) # my_param not passed

我所有其他pytest测试都通过了,但是这次失败了。谁能看到为什么这个测试失败了?当未传递必需的参数时,端点引发Exception,因此我以为该测试将捕获该异常。谢谢。

0 个答案:

没有答案