Юнит тест это конструкция 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 шт):

Автор решения: Blackmeser

Нет, юнит тест это что-то вроде этого:

//пример функции, которую нужно протестировать
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 тоже не единственный класс для тестирования.

Чем это полезно - как самый простой пример: написали метод, написали тест, прогнали тест - всё ок. Потом надо поменять тестируемый метод, внести изменения в код, прогоняете снова тесты, и тест уже может показать что вылазят ошибки, и там уже надо смотреть что делать дальше в зависимости от контекста.

→ Ссылка