Я хочу проверить, работает ли моя кнопка так, как ожидалось. Но я даже не могу протестировать этот простой пример:
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 );
}
Как заставить его работать?
Что насчет того, что не работает? Вы не предоставили никаких подробностей о том, что не так / сломано / неожиданно / ошибки / и т. д.
После нажатия кнопки 3 значение k по-прежнему остается равным 0 для тестера агрегата.
Вы установили точки останова в событии button3_Click, чтобы увидеть, не сработает ли оно? Вы уверены, что это действительно связано с событием button3Click?
@BrootsWaymb с вероятностью 99%, что он не подключен, так как он не упомянул никаких исключений или других проблем.
Итак, как мне проверить, подключен ли провод?
В коде ошибок нет, просто возвращается неверное значение.
У вас есть форма под названием «Форма»? Потому что это не будет компилироваться с новым System.Windows.Forms.Form





Вам нужно фактически подписать ваш button3 на событие, чтобы событие действительно было запущено.
Нажмите кнопку в своем конструкторе (при условии, что вы используете VS), затем нажмите на значок молнии в окне «Свойства» и выберите обработчик событий из раскрывающегося списка рядом с «Щелчком».
Без подписки на событие ваш элемент управления не знает, что он должен делать при нажатии (в C# нет ничего, что могло бы автоматически «сопоставить» button3.Click с button3_Click).
Это работает, потому что вы уже создали что-то, на что Click можно подписаться. Вы также можете автоматически сгенерировать что-то вроде button3_Click, дважды щелкнув вашу кнопку в дизайнере, если вы еще не написали для него код (иначе вы получите что-то вроде button3_Click_1).
Не могли бы вы это проверить?
Я просто поставил c.Show (); и вернул правильный ответ. Изображение для модульного теста
В чем вопрос?