如何评论JBehave Story中的故事情节

时间:2013-01-04 08:25:46

标签: jbehave

我有一个故事情节如下

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

请指教,如何评论或不做一行(例如:2行不应该在1直接3行后进行测试)

4 个答案:

答案 0 :(得分: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

! - 后面的空格是强制性的。谢谢@ flaz14

请参阅有关JBehave的文档:http://jbehave.org/reference/stable/grammar.html

答案 1 :(得分:2)

如果您使用的是Eclipse IDE,则可以使用快捷键 Ctrl + T 来评论单个/多个故事线。

答案 2 :(得分:2)

我知道这是一个古老的问题,但是我找到了解决方案,并且向社区分享:

'!-'是可取消步骤的标志,表示需要禁用的步骤。

在我们的项目中,我们使用一个故事解析器:

this.currentConf.useStoryParser(new TransformingStoryParser(this.currentConf.storyParser(), this.transformComment, this.transformCutter));

我们需要将文档放入用户故事中,因此我们在注释和可取消步骤之间进行了区分:

!-- Then ... =>可取消的步骤(本机操作)

!--| This is a a comment... =>评论

使用转换程序,故事被执行前便会从故事中剥离注释。

与“ |-”(可取消的示例)相同。我们引入了'|-|'或'cutter'来防止故事的其余部分被执行。

类(this.transformComment,this.transformCutter):

    public class ParserTransformingComment implements StoryTransformer {

        public ParserTransformingComment() {
        }


        /**
         * Suppression de commentaires
         */
        private Rewriter vC = new Rewriter("(?ms)^((!--\\|[^\\r\\n]*)(?:\\r?\\n)?)") {
            @Override
            public String replacement() {
                System.out.println("Ignoré : " + this.group(1));            
                return "";
            }
        };

        @Override
        public String transform(String pStoryAsText) {
            return vC.rewrite(pStoryAsText);
        }

    }

    public class ParserTransformingCutter implements StoryTransformer {    
        public ParserTransformingCutter() {
        }

        /**
         * Gestion des 'cutter'.
         */
        private Rewriter vS = new Rewriter("(?ms)^(\\|--\\|.*)") {
            @Override
            public String replacement() {
                System.out.println(">>> Cette section va être ignorée : ");
                System.out.println(StringUtils.lineStart("> ",this.group(1)));
                System.out.println("-------------");            
                return "";
            }
        };


        @Override
        public String transform(String pStoryAsText) {
            return vS.rewrite(pStoryAsText);
        }

    }

编辑: 从Jbehave 4.3开始,即使没有StoryTransformer,注释也可以以更好的方式处理:


!--BlahBlah -- ignored completely by Jbehave
!-- Then ... -- steps ignored (registered in the report)
!-- Blah blah -- comment (registered in the report)

关于, 戴维·C。

答案 3 :(得分:1)

使用此!--当用户键入登录详细信息时,以xxx作为密码,并以xxx作为密码。 注意:对于注释“ !--”,必须使用空格,否则将执行该步骤。