我想在behave遇到异常时显式地使该步骤失败
例如。我正在根据行为文档编写代码 -
from behave import *
@when('verify test fails.*?(?P<param_dict>.*)')
def test_logger(context, param_dict):
try:
logger.info("testing the logger. this is info message")
logger.info(1/0)
except Exception as e:
logger.error("arrived at exception: "+str(e))
fail("failed with exception: "+str(e))
Run Code Online (Sandbox Code Playgroud)
但它抛出这个错误:
NameError:未定义名称“失败”
我也尝试了其他方法,但没有任何效果,例如。context.failed = True (也没有工作)
如果我不尝试显式失败,即使它进入异常块,最终测试结果也会成为 PASS ......这很奇怪。
我想在执行我的函数之前执行某个步骤。该步骤将变量作为参数。我无法在 context.execute_steps 中传递它。
eg.
call1 = "version"
call1_method = "get"
context.execute_steps('''When execute api{"method":call1_method, "call":call1}''')
Run Code Online (Sandbox Code Playgroud)
但是这不起作用。我在参数解析中出错,因为变量不在引号中。我在行为文档中没有看到任何这样的例子。任何帮助将非常感激。