我有一个故事情节如下
Scenario:
Given user is on Login page
When user types login details with xxx as user xxx as passwd and submits
Then dashboard is shown
Run Code Online (Sandbox Code Playgroud)
请指教,如何评论或不做一个线路运行(例如:2线直接3线后不应进行测试)
der*_*eha 37
您想暂时禁用方案中的步骤吗?使用前缀注释该行"!-- ",例如
Given user is on Login page
!-- When user types login details with xxx as user xxx as passwd and submits
Then dashboard is shown
Run Code Online (Sandbox Code Playgroud)
请参阅JBehave上的文档:http://jbehave.org/reference/stable/grammar.html
我知道这是一个老问题,但我找到了解决方案,并与社区分享:
'!-- '是可取消步骤的标志,表示需要禁用的步骤。
在我们的项目中,我们使用了一个故事解析器:
this.currentConf.useStoryParser(new TransformingStoryParser(this.currentConf.storyParser(), this.transformComment, this.transformCutter));
Run Code Online (Sandbox Code Playgroud)
我们需要将文档放在用户故事中,因此我们对评论和可取消步骤进行了区分:
!-- Then ... => 可取消的步骤(本机方式)
!--| This is a a comment... => 评论
使用 Transformer,在故事被执行之前,评论会从故事中剥离出来。
'|--' 也是如此,一个可取消的例子。我们引入了“|--|”或“切割器”,以防止故事的其余部分被执行。
类 (this.transformComment, this.transformCutter) :
公共类 ParserTransformingComment 实现 StoryTransformer {
公共 ParserTransformingComment() {
}
/**
* 禁止评论
*/
private Rewriter vC = new Rewriter("(?ms)^((!--\\|[^\\r\\n]*)(?:\\r?\\n)?)") {
@覆盖
公共字符串替换(){
System.out.println("忽略:" + this.group(1));
返回 ””;
}
};
@覆盖
公共字符串转换(字符串 pStoryAsText){
返回 vC.rewrite(pStoryAsText);
}
}
公共类 ParserTransformingCutter 实现 StoryTransformer {
公共 ParserTransformingCutter() {
}
/**
* Gestion des '刀具'。
*/
private Rewriter vS = new Rewriter("(?ms)^(\\|--\\|.*)") {
@覆盖
公共字符串替换(){
System.out.println(">>> Cette section va être ignorée :");
System.out.println(StringUtils.lineStart("> ",this.group(1)));
System.out.println("------------");
返回 ””;
}
};
@覆盖
公共字符串转换(字符串 pStoryAsText){
返回 vS.rewrite(pStoryAsText);
}
}
编辑: 从 Jbehave 4.3 开始,即使没有 StoryTransformer,评论也会以更好的方式处理:
!--BlahBlah -- 被 Jbehave 完全忽略 !-- 然后... -- 步骤被忽略(在报告中注册) !-- Blah blah -- 评论(在报告中注册)
问候,大卫 C.
| 归档时间: |
|
| 查看次数: |
19831 次 |
| 最近记录: |