假设来自服务器的响应是一个元组,你可以用一个简单的测试用例来测试它,如下所示:
import unittest
response = (0, 1)
class SimpleTest(unittest.TestCase):
# Returns True or False.
def test(self):
self.assertTrue((response == (0, 1)), "The response is not (0, 1)")
if __name__ == '__main__':
unittest.main()
如果您收到的不是元组而是字符串,您可以将 assertTrue 条件中的值从(0, 1) 更改为"(0, 1)"。
详情请咨询documentation on unittest。
如果您不想使用unittest,但您确实想确保响应正确,您也可以使用assert 语句(但是,可能有更好的方法来检查):
response = (0, 1)
assert(response == (0, 1)) # This will do nothing
assert(response == (1, 1)) # This results in an AssertionError
由于AssertionError,您的程序将停止。如果你不想要这个,你可以使用try-except 块:
response = (0, 1)
try:
assert(response == (0, 1))
except AssertionError:
print("The response is not correct.")
编辑:
由于您收到的响应是MQTTMessageInfo 类型,因此您想与此进行比较。我没有找到太多关于这种类型的文档,但你可以看到what the class looks like on Github。
在这里,您可以看到您看到的响应是以下内容的字符串表示形式:
def __str__(self):
return str((self.rc, self.mid))
(0, 1) 中的第一个值是self.rc,第二个是self.mid。如果你只想断言这两个值确实是正确的,你可以将上面的测试用例修改成这样:
self.assertTrue((response.rc == 0 and response.mid == 1)), "The MQTTMessageInfo is not rc=0, and mid=1")