我想为JBehave中的验收测试编写一个“常见”故事,只有在用户不存在时才会添加用户。 “createUser”故事本身就是一个验收测试用例。我想用GivenStories
引用它,例如在“modifyUser”,“deleteUser”等 - 但我不想在“createUser”故事想要添加已存在的用户时收到错误。
如何确保仅在需要时才执行“createUser”?我找不到JBehave中“条件故事”的任何解决方案。我也不能将“createUser”这个故事写成幂等。
答案 0 :(得分:1)
这不是JBehave本身的问题 - 它不会在这个级别上处理。我想你想要一个这样的场景:
Given user "John" exists with ID 1234
When delete user request for ID 1234 was processed
Then no user entry for ID 1234 should exist
只有在给定步骤的绑定代码中,您才能检查并创建用户(执行条件插入操作)。这是在Java代码中处理的,而不是在验收测试级别上处理的。它看起来像这样:
@Given("Given user \"$userName\" exists with ID $userId")
public void givenUserExistsWithId(String userName, int userId)
{
if (!persistence.existsUser(userId))
{
persistence.createUser(userId, userName);
}
}
这样情况就是干净的,代码确保在执行给定状态后的预期状态。