JBehave暧昧的一步

use*_*292 6 java ambiguity jbehave

说我有:

@Given("first name is $firstName")
@Given("first name is $firstName and last name is $lastName")
Run Code Online (Sandbox Code Playgroud)

以下步骤将标记为含糊不清:

Given first name is John and last name is Smith
Run Code Online (Sandbox Code Playgroud)

如果不使用引号括起第一个参数,我该如何修复此步骤以使其仅匹配第二个参数?使用引号分别围绕这两个参数也具有相同的模糊性问题.

每个参数的长度是否有限制?是否有某些字符无法传入?

der*_*eha 8

您可以使用步骤优先级来解决此问题,如下所示:http://jbehave.org/reference/stable/prioritising-steps.html

通过使用两个参数为变量设置更高的优先级,可以解决您的问题:

@Given("first name is $firstName")
@Given(value = "first name is $firstName and last name is $lastName", priority = 1)
Run Code Online (Sandbox Code Playgroud)

我试过你的例子,用这个组合,两个步骤分开了.

(编辑:我的初始解决方案有参数的引用,但它的工作没有那么好)