Я только начинаю работать со SpecFlow и мне очень нравится этот инструмент. Однако я сталкиваюсь с некоторыми проблемами, связанными с примерами ввода данных в схемы сценария.
Просто интересно, нормально ли то, с чем я сталкиваюсь, или в этом есть какой-то трюк.
Я использую C # Visual Studio 2013 и пишу приложение MVC, используя стиль подчеркивания определения шага. Я также пробовал использовать стиль регулярного выражения, но все еще сталкиваюсь с аналогичными проблемами.
Итак, проблема в том, что я предоставляю имя пользователя, пароль и т. Д. В качестве параметров и включаю образцы данных в свои примеры. Похоже, что происходит следующее: -
Я должен поставить "" вокруг параметров при первом создании сценария, иначе он вообще не будет принят в качестве параметра. Однако при передаче данных из примеров я получаю «/» в конце переданных данных. Когда я возвращаюсь к сценарию, я затем удаляю «» вокруг параметра. Это немного расстраивает, но если это лучший способ справиться с этим, я могу с этим жить. Просто интересно, есть ли у кого-нибудь совет по этому поводу.
Следующая проблема связана с самими данными. Похоже, если у меня есть какие-либо символы, такие как @ или & и т.д. в моих данных, тогда он разбивает эти данные в этой точке и передает их следующему параметру, поэтому я получаю неверные данные, передаваемые через.
Я включил свой код ниже - будем признательны, если у кого-то есть предложения или ресурсы.
Файл функций Функция: Регистрация учетной записи Чтобы использовать сервисы Mojito в моей организации В качестве гостя я хочу создать учетную запись с правами администратора.
Scenario Outline: Register with valid details
Given I am on the registration page
And I have completed the form with <email> <organisation> <password> and <passwordConfirmation>
When I have clicked on the register button
Then I will be logged in as <username>
And my account will be assigned the role of <role>
Examples:
| email | organisation | password | passwordConfirmation | username | role |
| usernamea | Bytes | password1 | password1 | usernamea | Admin |
| usernameb | Bytes | password2 | password2 | usernameb | Admin |
| usernamec | Bytes | password3 | password3 | usernamec | Admin |
| usernamed | Bytes | password4 | password4 | usernamed | Admin |
| usernamee | Bytes | password5 | password5 | usernamee | Admin |
Scenario Outline: Register with invalid details
Given I am on the registration page
And I have completed the form with <email> <organisation> <password> and <passwordConfirmation>
When I have clicked on the register button
Then I will get an error message
Examples:
| email | organisation | password | passwordConfirmation |
| [email protected] | Bytes | 1LTIuta&Sc | wrongpassword |
| [email protected] | Bytes | 1LTIuta&Sc | 1LTIuta&Sc |
| [email protected] | No Organisation | 1LTIuta&Sc | 1LTIuta&Sc |
Созданный файл шагов
[Binding]
public class AccountRegistrationSteps
{
[Given]
public void Given_I_am_on_the_registration_page()
{
ScenarioContext.Current.Pending();
}
[Given]
public void Given_I_have_completed_the_form_with_usernamea_Bytes_password_P0_and_password_P1(int p0, int p1)
{
ScenarioContext.Current.Pending();
}
[Given]
public void Given_I_have_completed_the_form_with_Jonesa_mojito_com_Bytes_P0_LTIuta_Sc_and_wrongpassword(int p0)
{
ScenarioContext.Current.Pending();
}
[When]
public void When_I_have_clicked_on_the_register_button()
{
ScenarioContext.Current.Pending();
}
[Then]
public void Then_I_will_be_logged_in_as_usernamea()
{
ScenarioContext.Current.Pending();
}
[Then]
public void Then_my_account_will_be_assigned_the_role_of_Admin()
{
ScenarioContext.Current.Pending();
}
[Then]
public void Then_I_will_get_an_error_message()
{
ScenarioContext.Current.Pending();
}
}