NUnit, TestDriven.NET, WatiN и Specflow - PullRequest
       35

NUnit, TestDriven.NET, WatiN и Specflow

1 голос
/ 20 февраля 2012

Я пытаюсь провести тестирование BDD с использованием Specflow, NUnit и WatiN. Я использую TestDriven.NEt для запуска теста. Вот мой первый тест:

[Binding]
    [TestFixture, RequiresSTA]
    public class RegisterUserSteps
    {
        private IE _ie = new IE();

        [When(@"the user visits the registration page")]
        public void WhenTheUserVisitsTheRegistrationPage()
        {
            _ie.GoTo("http://localhost:1064/Register/"); 
        }


        [When(@"enter the following information")]
        public void WhenEnterTheFollowingInformation(Table table)
        {
            foreach(var tableRow in table.Rows)
            {
                var field = _ie.TextField(Find.ByName(tableRow["Field"])); 

                if(!field.Exists)
                {
                    Assert.Fail("Field does not exists!");
                }

                field.TypeText(tableRow["Value"]);
            }
        }

        [When(@"click the ""Register"" button")]
        public void WhenClickTheRegisterButton()
        {
            ScenarioContext.Current.Pending();
        }

        [Then(@"the user should be registered")]
        public void ThenTheUserShouldBeRegistered()
        {
            ScenarioContext.Current.Pending();
        }

    }

Проблема в том, что он никогда не переходит на

 [When(@"enter the following information")]
            public void WhenEnterTheFollowingInformation(Table table)

Он просто запускает браузер и выполняет первый шаг. Я что-то упустил?

1 Ответ

2 голосов
/ 20 февраля 2012

Не смотря на тест, кажется, вы пропустили важный шаг (данный).Обычно это так:

Given I go to some page
And all the set up data are available - optional
When I enter the following info
And I click "Register" button
Then I see something

В основном это шаги GWT (задано, когда, потом).Это язык корнишонов, поэтому, если вы заглянете в Google, вы увидите больше информации.Если у вас есть несколько вещей для данного шага, вы должны использовать And, например, When ...... And......., а не When...... When........

...