根据表达式结果输出警告

时间:2019-04-17 21:10:48

标签: python selenium expression warnings pytest

我正在尝试根据表达式的结果在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模块中,我找不到有关如何基于错误表达式输出警告的任何内容。

关于如何简化警告输出的任何想法,这样我就不必为要在测试中执行检查的每项检查设置格式?

1 个答案:

答案 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