Кнопочное модульное тестирование C # - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу проверить, выполняет ли моя кнопка то, что ожидалось.Но я даже не могу проверить этот простой пример:

public int k = 0;

public void button3_Click(object sender, EventArgs e)
{
    k = 1;
}

Юнит-тест:

[TestMethod]
public void ButtonClick3_ret1()
{
    //arrange
    int x;
    int expected = 1;

    //act
    int actual;
    Form c = new Form();
    c.button3.PerformClick();
    actual = c.k;

    //assert
    Assert.AreEqual(expected,actual );
}

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Я просто поставил c.Show ();и он вернул правильный ответ. Юнит тестовое изображение

0 голосов
/ 15 декабря 2018

Вам нужно подписаться на button3 на событие, чтобы событие действительно было запущено.

Нажмите кнопку в конструкторе (при условии, что вы используете VS), затем значок молнии в окне «Свойства» и выберите обработчик события в раскрывающемся списке рядом с «Клик».

Без подписки на событие ваш элемент управления не имеет абсолютно никаких сведений о том, что он должен делать, когда на него нажимают (нет ничего, что могло бы автоматически «сопоставить» button3.Click с button3_Click в C #).

properties window

Это работает, потому что вы уже создали что-то для Click, чтобы подписаться на него.Вы также можете автоматически сгенерировать что-то вроде button3_Click, дважды щелкнув по кнопке в конструкторе, если вы еще не написали код для нее (в противном случае вы получите что-то вроде button3_Click_1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...