pytest - Pytest-Django:不幸的是,未捕获的异常被隐藏了
问题描述
我使用 pytest-django,不幸的是,未捕获的异常被隐藏了
@pytest.mark.django_db
def test_foo(client):
url = reverse('foo')
response = client.get(url)
assert response.status_code == 200
我得到:
E assert 500 == 200
Assertion failed
如何配置 pytest 以显示真正的异常(而不是 http 500 响应)?
解决方案
由于pytest
使用assert
语句进行测试,我们可以利用语句的扩展形式,如下assert
所示。
在您的情况下,它看起来像:
@pytest.mark.django_db
def test_foo(client):
url = reverse('foo')
response = client.get(url)
assert response.status_code == 200, response.exception_reason
在您的情况下检索 的语法Exception
可能略有不同,但希望您了解需要更改的内容。
推荐阅读
- unity3d - 将左手 Y-up(例如 Unity)坐标和旋转转换为右手 Z-up (3DS Max)
- java - 如何验证是否在接口的 impl 上调用了方法
- javascript - NodeJS (JavaScript/TypeScript) - 读取 Parquet 文件时出错
- android - Appium - Xpath 让直接子代不在 Android 上工作
- node.js - NodeJS 同步函数
- c# - 阻塞事件处理程序
- c - 使用 int 数组作为 const unsigned char* 的输入
- c++ - 数组是如何排序的
- validation - 我的控制器忽略了我的自定义验证规则
- python - 如何找到整个盒子的每个小盒子中的点数