Юнит тест это конструкция try catch?
Вот это юнит тест?
try
{
//фокусируемся на окне (внутреннем)
// SetForegroundWindow(childWindow);
//эмулируем нажатие клавиши "Вниз"
SendKeys.SendWait("{DOWN}");
//эмулируем нажатие клавиши "Enter"
SendKeys.SendWait("~");
SendKeys.SendWait("Привет.");
//отправляем юзерам (всем)
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("{DOWN 3}");
SendKeys.SendWait("+{END}");
SendKeys.SendWait("~");
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
Ответы (1 шт):
Нет, юнит тест это что-то вроде этого:
//пример функции, которую нужно протестировать
public int Multiple(int a, int b)
{
return a*b;
}
//сам тест
[Test]
public void TestMultiple()
{
int a = 5;
int b = 6;
int multiple = SomeClass.Multiple(a, b);
int checkmultiple = 0;
for (int i = 0; i < b; i++)
{
checkmultiple += a;
}
Assert.AreEqual(multiple, checkmultiple);
}
При выполнении Assert.AreEqual мы получим результат, который будет указывать на то, равны ли две переменные multiple и checkmultiple.
Та сущность, которую вы тестируете - к ней может быть несколько тестов, не обязательно только одна, а в одном тесте тоже может быть несколько Assert'ов.
Помимо AreEqual - есть и другие методы Assert для тестирования, например проверка на true/false, проверка с отрицанием, проверка на ошибку, проверка на тип, проверка на null, и другие...
Сам Assert тоже не единственный класс для тестирования.
Чем это полезно - как самый простой пример: написали метод, написали тест, прогнали тест - всё ок. Потом надо поменять тестируемый метод, внести изменения в код, прогоняете снова тесты, и тест уже может показать что вылазят ошибки, и там уже надо смотреть что делать дальше в зависимости от контекста.