我正在尝试根据表达式的结果在pytest设置中输出警告。我本质上是试图镜像断言语句而不会停止我的代码,而不必手动设置警告消息的格式以模仿每个表达式。
例如,我要这样做:
test_variable = 5
assert test_variable == 10
# Output:
AssertionError: assert 5 == 10
简化为以下版本:
test_variable = 5
if test_variable != 10:
warnings.warn(f"{test_variable} != 10") # Manually format the output.
# Output:
UserWarning: 5 != 10
在Python的warnings模块中,我找不到有关如何基于错误表达式输出警告的任何内容。
关于如何简化警告输出的任何想法,这样我就不必为要在测试中执行检查的每项检查设置格式?
答案 0 :(得分:0)
pytest使用python的断言。 您可以在assert语句后添加字符串以生成警告。
assert my_var == 10 , "Value of my_var: {} is not equal to 10".format(my_var)
如果my_var为5,它将打印此内容:
Value of my_var: 5 is not equal to 10