使用Python的断言命令,我可以在断言失败时打印消息
Python控制台:
>>> assert 0, "FAIL"
Traceback (most recent call last):
File "<input>", line 1, in <module>
AssertionError: FAIL
我想通过重载\覆盖断言来保持相同的语句结构。 我不想实现一个名为my_assert(condition,msg_fail,msg_pass)的新函数来代替&#34;断言&#34;,就像在print success messages for asserts in python中建议的那样,
我想保持相同的一行结构,如下所示。 有没有办法,没有在try中包装assert:除了在assert成功时输出消息?某种方式来覆盖断言语句,因此它以不同的方式工作,如:
>>> assert 1, "FAIL", "PASS"
PASS
由于
答案 0 :(得分:0)
你可以把这个逻辑放在便利函数中
def print_assert(condition, str_fail, str_pass):
assert condition, str_fail
print(str_pass)
然后以同样的方式使用它
>>> print_assert(1, "FAIL", "PASS")
PASS
>>> print_assert(0, "FAIL", "PASS")
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
print_assert(0, "FAIL", "PASS")
File "<pyshell#3>", line 2, in print_assert
assert condition, str_fail
AssertionError: FAIL