我输入错误,我希望引发异常。不知怎么的,这并没有发生。这是我的单元测试代码:
def test_invalid_bag_json_conversion_1(self):
file_name = "../test/test_files/wrong_bag.bag"
ru = RosbagUploader(file_name, self.json_output, "", "", "", "")
status = ru.start()
self.assertRaises(Exception, RosbagUploader, file_name, self.json_output, "", "", "", "")
self.assertEquals(ReturnCodes.FAIL, status)
我正在测试的代码:
^{pr2}$它显示引发异常的输出,如下所示:
[ERROR] (<class 'rosbag.bag.ROSBagException'>, ROSBagException(), <traceback object at 0x7fdcb463e8c0>)
EException AttributeError: "'RosbagUploader' object has no attribute '_rosbag'" in <bound method RosbagUploader.__del__ of <rosbag_deserializer_core.RosbagUploader object at 0x7fdcb4899ad0>> ignored
这就是它应该做的。但为什么不提出例外呢?在
实际上,您忽略了异常,因为在print语句之后没有重新引发:
需要重新引发调用者才能接收异常:
^{pr2}$您有
__del__
销毁方法吗?似乎在那里失败了。在相关问题 更多 >
编程相关推荐