Back to questions
Junior — Middle
69
Можешь привести пример проведения модульного тестирования для графического пользовательского интерфейса?
Companies where asked
УК Первая
Answer from AI
sobes.tech AI
Для модульного тестирования графического пользовательского интерфейса (GUI) в C# часто используют фреймворки, которые позволяют имитировать взаимодействие пользователя с элементами интерфейса и проверять их поведение.
Пример с использованием NUnit и библиотеки NUnit.Forms для тестирования Windows Forms:
using NUnit.Framework;
using NUnit.Extensions.Forms;
public class MyFormTests : NUnitFormTest
{
private MyForm form;
[SetUp]
public void SetUp()
{
form = new MyForm();
form.Show();
}
[TearDown]
public void TearDown()
{
form.Close();
}
[Test]
public void ButtonClick_ShouldChangeLabelText()
{
// Найти кнопку по имени
ButtonTester button = new ButtonTester("myButton", form);
LabelTester label = new LabelTester("myLabel", form);
// Проверить начальный текст
Assert.AreEqual("Начальный текст", label.Text);
// Клик по кнопке
button.Click();
// Проверить, что текст изменился
Assert.AreEqual("Текст после клика", label.Text);
}
}
В этом примере мы создаём форму, имитируем клик по кнопке и проверяем изменение текста на метке. Такой подход позволяет тестировать логику взаимодействия в UI без необходимости ручного тестирования.