Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Unit Test. Кто использует?

01.11.16 22:48
Re: Unit Test. Кто использует?
 
Программист коренной житель
в ответ moose 01.11.16 22:11
А применим ли юнит тест в мультипоточной среде?

применим


Как можно протестировать "юнит", если результат зависит от того, что происходит в других потоках?

Ответ на вопрос "как можно протестировать" зависит от того, ЧТО ты хочешь протестировать. Если ты знаешь что ты хочешь протестировать, то дальше все сравнительно просто - эмулируешь работу других потоков и тестируешь :)

Понимаю, что это звучит несколько странно, но это возможно сделать. И потом, как я уже говорил, не любой существующий код можно протестировать юнит-тестом. Нужно писать такой код, который может быть протестирован.

Вот например такой код невозможно протестировать юнит-тестом:

public bool ShouldArchive(string fileName)
{
if (File.Exists(fileName) == true)
{
FileInfo fi = new FileInfo(fileName);
return (fi.Length > 1000) ? true : false;
}

throw new ArgumentException("File does not exists");
}

Т.е. протестировать этот код конечно можно, но это будет не юнит-тест :)

 

Перейти на