私はキュウリとゲブでGrails2.1.1を使用しています。2つのシナリオを含むAuth.featureがあります。1つは正常に認証するためのもので、もう1つは無効な資格情報をテストするためのものです。
私がこれを解決しなければならないと思う方法は、gebが2番目のシナリオを実行する前に、最初のシナリオからユーザーをログアウトさせることです。これは、Givenステップがログインページにいることを確認するためです。シナリオ1が実行された後、ダッシュボードページが表示されます。
私の質問は、(a)シナリオを完了する前にgebを使用して有効なユーザーをサインアウトするのか、それとも(b)シナリオ間で最初からやり直す方法があるのかということだと思います。
今、私は(a)を実装しましたが、問題なく動作します。これが最適かどうかを知りたいだけです。
これが私の特徴です
Feature: login to system
As a user of the system
I want to log in to the application
so that I can use it
Scenario: login
Given I access the login page
When I enter valid credentials
Then I see the dashboard
Scenario: auth fail
Given I access the login page
When I enter invalid credentials
Then I see appropriate error messages
そして、これが私のGebステップです
Given(~'^I access the login page$') {->
to LoginPage
at LoginPage
}
When(~'^I enter valid credentials$') {
page.add('user_10001@test.com', '10001')
}
Then(~'^I see the dashboard$') {->
at DashboardPage
}
Then(~'^I see an error message on the login page$') { ->
at LoginPage
}
When(~'^I enter invalid credentials$') { ->
page.add('baduser', 'paddpassword')
}
Then(~'^I see appropriate error messages$') { ->
at LoginPage
// check for error message
}