我想生成一个测试(pytest)以检查收到的消息是否等于某个值。
环境是python 3.6.8,pytest 4.1.1和paho-mqtt 1.4.0
我编写了一个简单的测试,其中第一行代码将生成一个我订阅某个主题的客户端,并且该客户端内部还具有on_message回调。
当我在该主题中发布某些内容时,该函数已被正确调用,但是assert语句(我迫使其失败)不是使测试失败,而是引发了异常,该异常被自动捕获代码。
def test_fake():
def on_message(client, userdata, message):
assert False
测试应该失败了,但是它成功了,我可以在日志中看到assert语句生成了一个已自动捕获的异常:
[2019-04-16 13:53:57,254] [DEBUG] [myScript] log: Caught exception in on_message: assert False [218]
Here,有些相似之处使我想像我的问题与网络线程正在调用的回调有关。...但是如何强制将assert语句视为普通的pytest断言?