BDD、Specflow、WatiN は初めてです。これらのツールを使用して、ASP.NET MVC アプリケーションの受け入れテストを自動化したいと考えています。
これらのツールの基本的な使用方法は既に理解しており、最初の受け入れテストを作成することに成功しました: Web サイトにログオンします。
このテストの Gherkin は次のとおりです。
Feature: Log on to the web
As a normal user
I want to log on to the web site
Scenario: Log on
Given I am not logged in
And I have entered my name in the username textbox
And I have entered my password in the password textbox
When I click on the login button
Then I should be logged and redirected to home
ここで、他の多くのテストを書きたいと思います。それらはすべて、ユーザーが認証される必要があります。例えば:
Feature: List the products
As an authenticated user
I want to list all the products
Scenario: Get Products
Given I am authenticated
And I am on the products page
When I click the GetProducts button
Then I should get a list of products
私を悩ませているのは、このテストを他のテストから独立させるには、Web サイトに再度ログオンするためのコードを作成する必要があることです。これは行く方法ですか?私は疑う。
そのようなシナリオをテストするために従うべきベストプラクティスがあるかどうか疑問に思っています. ブラウザーを開いたままにして、同じブラウザーで特定の順序でテストを実行する必要がありますか? それとも、MVC アプリケーションを特定の状態にする必要がありますか?