web-dev-qa-db-ja.com

JBehave Storyでストーリーラインにコメントする方法

次のようなストーリーがあります

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行)

31
Vijay

シナリオのステップを一時的に無効にしたいですか?次のように、接頭辞"!-- "を使用して行をコメント化します。

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

37
dertseha

これは古い質問ですが、解決策を見つけました。コミュニティのために共有します。

「!-」はキャンセル可能なステップの記号であり、無効にする必要のあるステップを意味します。

このプロジェクトでは、ストーリーパーサーを使用します。

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

ドキュメントをユーザーストーリーに含める必要があったため、コメントとキャンセル可能な手順を区別しました。

!-- Then ... =>キャンセル可能なステップ(ネイティブな方法)

!--| This is a a comment... =>コメント

トランスフォーマーを使用すると、コメントは実行される前にストーリーから取り除かれます。

これはキャンセル可能なの '|-'でも同じです。ストーリーの残りの部分が実行されないようにするために、「|」または「カッター」を導入しました。

クラス(this.transformComment、this.transformCutter):

 publicクラスParserTransformingCommentはStoryTransformer {
 
 public ParserTransformingComment(){
} 
 
 
/**を実装します
 *コメントの抑制
 */
プライベートリライター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êtreignorée:"); 
 System.out.println(StringUtils.lineStart( ">"、this.group(1))); 
システム.out.println( "-------------"); 
 return ""; 
} 
}; 
 
 
 @Override 
 public String transform(String pStoryAsText ){
 return vS.rewrite(pStoryAsText); 
} 
 
} 

---(編集: Jbehave 4.3以降、StoryTransformerがなくても、コメントはより適切に処理されます。

 
!-BlahBlah-Jbehaveによって完全に無視されました
!-次に...-無視されたステップ(レポートに登録されています)
!- Blah blah-コメント(レポートに登録)
 

よろしく、デビッドC.

3
David Clain

EclipseсливыиспользуетеEclipse IDE、выможетеиспользоватьярлыкCtrl+Tкомментироватьодну/несколькосюжетныхлиний。

2
Chirag Khimani

これを使って !--ユーザーがxxxをユーザーxxxとして、ログインの詳細をパスワードとして入力して送信した場合。注:コメント "!-- "スペースは必須です。それ以外の場合は、ステップを実行します。

1
Suraj