Я новичок в BDD, Specflow и WatiN. Я хотел бы использовать эти инструменты для автоматизации приемочных тестов для моего приложения ASP.NET MVC.
Я уже понял, как в основном их использовать инструменты, и я успешно создал свой первый приемочный тест: Войдите на веб-сайт
Вот корнишон для этого теста:
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
Теперь я хотел бы написать кучу других ests, и все они требуют аутентификации пользователя. Например:
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
Что меня беспокоит, так это то, что для того, чтобы сделать этот тест независимым от других, мне пришлось бы писать код для повторного входа на веб-сайт. Это путь? Я сомневаюсь.
Мне интересно, есть ли рекомендации по тестированию подобных сценариев. Должен ли я держать браузер открытым и запускать тесты в определенном порядке в одном и том же браузере? Или я должен перевести приложение MVC в определенное состояние?