所以,
我和JBehave有一种奇怪的行为.我有一个场景,我需要一个StepDef结构,如下所示:
Given some precondition
When something happens
And something else happens
And yet something else happens
And still one more thing happens
And one more
Then I expect some result
Run Code Online (Sandbox Code Playgroud)
据我所知,这是Scenario Stepdefinition的有效语法.然而,JBehave将第二个"And"中的所有内容标记为"待定".如果我改变"And"语句的顺序,它总是运行第一个"And"并从第三个开始标记"Pending".如果我这样写它就可以了:
Given some precondition
When something happens
When something else happens
When yet something else happens
When still one more thing happens
When one more
Then I expect some result
Run Code Online (Sandbox Code Playgroud)
好像我的配置限制了可以解释的连续"And"语句的数量.但是我似乎没有发现问题.我在这做错了什么?
很多事情都可能导致“待处理”消息。我已经看到隐藏空格(空白)在 .story 文件中导致错误,但在相应的步骤文件的方法中却没有。如果您有第二个示例故事,并且所有“When”语句都有效,则采用该确切的故事文件,并且仅将“When”更改为“And”(当然,第一个除外)。这将消除它是空白的可能性。我假设您知道在任何一种情况下,所有步骤都将从 @When("...") 开始(只是试图消除所有选项)。只需向我们展示上面列出的每个步骤的方法头 - 我们不需要查看底层代码。