1

JBehave では、BeforeStory または AfterStory アノテーションを Step レベルで追加できます。そのため、BeforeStory アノテーションを持つ Steps クラスが複数ある場合、BeforeStory アノテーションが付けられたすべてのメソッドは、すべてのストーリーが開始する前に実行されます (これは必要ありません)。

JUnit では、テスト クラスで必要に応じて、BeforeClass または Before を個別に追加または残すことができます。そこで必要なのは、JUnit テスト クラスと同じように、ストーリー レベルに BeforeStory または AfterStory を追加する方法です。

ストーリー ファイルに BeforeStory をライフサイクルとして追加する方法はありますか? または代替ソリューション?

次の例は、ライフサイクルに Before のみを追加することを示しています。

http://jbehave.org/reference/stable/story-syntax.html

Lifecycle: 
Before:
Given a step that is executed before each scenario 
After:
Outcome: ANY    
Given a step that is executed after each scenario regardless of outcome
Outcome: SUCCESS 
Given a step that is executed after each successful scenario
Outcome: FAILURE 
Given a step that is executed after each failed scenario

ありがとう。

4

2 に答える 2

0

私の意見では、jbehave には現在のところそのような機能はありません。ただし、次のことを試してください。クラス ファイルで Given を実行してユーザーを初期化し、ストーリー シナリオの最後で別の Given を定義してリソースを解放します。このアプローチは、ビジネスで定義されたシナリオ全体の BDD パラダイムを壊すことを知っていますが、少なくとも回避策です。最初と最後に確実に実行するには、initUsers() に (priority=1) を使用し、cleanup() に (priority=n) を使用できます。

于 2016-10-19T14:45:04.787 に答える