Как сделать модульное тестирование для этого типа кода в Windows Form C # - PullRequest
0 голосов
/ 20 января 2019
public int validation()
{
    int flag = 0;
    Regex Rx = new Regex(@"^[\p{L} \.'\-]{0,20}$");
    Regex Rx1 = new Regex(@"^[\p{L} \.'\-]{0,20}$");
    Regex Rx2 = new Regex(@"^[0-9]{10}$");
    if (name.Text=="")
    {
        name.Focus();
        errorProvider1.SetError(name, MessageBox.Show("enter your name", 
            "error", MessageBoxButtons.OK, MessageBoxIcon.Error).ToString());
        flag = 1;
    }
    else if (fathername.Text == "")
    {
        fathername.Focus();
        errorProvider1.SetError(name, MessageBox.Show("Enter your father name", 
            "error", MessageBoxButtons.OK, MessageBoxIcon.Error).ToString());
        flag = 1;
    }
}

его общедоступный код подтверждения для формы windows

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Чтобы написать эффективные модульные тесты, сначала ваш код должен быть testable .Чтобы сначала получить тестируемый фрагмент кода, вы должны отделить бизнес от пользовательского интерфейса.Таким образом, вы можете проверить свой бизнес с помощью модульного тестирования.Кроме того, если вы используете шаблоны MVVM, вы можете проверить свою логику пользовательского интерфейса независимо от вашей технологии пользовательского интерфейса.

0 голосов
/ 20 января 2019

Общее количество этапов модульного тестирования: Организовать -> Действовать -> Утвердить На мой взгляд, я должен написать ваш код в отдельный метод для проверки. Метод вернет истину или ложь. Это легко проверить и модульное тестирование. С уважением.

public bool ValidateInput(string input)
{
  Regex Rx = new Regex(@"^[\p{L} \.'\-]{0,20}$");
  Match match = rx.Match(input);
  if(match.Success) return true;
  return false;
}
// To call the method.
public void Testing(){
  string userName = "your user name";
  if(ValidateInput(userName))
    MessageBox.Show("Your username incorrect.");
  else{
    // Todo something.
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...