python - pytest 在断言错误后将测试标记为 PASSED
问题描述
我正在尝试使用pytest编写测试。我有一个服务可以注册一个带有事件名称和回调函数的侦听器。在一段时间内,它会生成数据并调用将其作为参数传递的回调。基本上我需要在回调中评估一些断言,但即使断言失败pytest
也表明测试通过了。
def mytest():
service = MyService()
def on_data(data):
assert False
def on_end():
print('All done')
service.on('data', on_data)
service.on('end', on_end)
service.start()
使用 运行此程序时pytest
,我得到:
ERROR assert False
Traceback [...]
assert False
AssertionError: assert False
All done
PASSED
============================== 1 passed in 10.67s ==============================
为什么测试标记为通过?
解决方案
推荐阅读
- objective-c - 用户从 xcode 中的多组件选择器中选择某些值后,如何显示某个消息/警报?
- android - 在 vscode 上运行 Flutter first counter 应用程序的问题
- oracle-apex - 修复了图表中定义的颜色
- java - @Bean 函数可以带参数吗?如果是这样,该参数将如何设置?
- sql - SQL:计算具有多个条件的不同列组合
- angular - 获取两个 Observable 之间的差异
- reactjs - 如何使用 react 和 typescript 为用户登录和处理提供一种安全的方式?
- javascript - Plotly 图形中的 CSS 缩放和鼠标坐标
- java - 如何从 Java 的 try/catch 块中抛出异常的点恢复执行?
- javascript - 根据 codeigniter 中第一个 selectpicker 的用户输入动态加载第二个 bootstrap selectpicker