Login
Unit Test. Кто использует?
1707 просмотров
Перейти к просмотру всей ветки
in Antwort 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");
}
Т.е. протестировать этот код конечно можно, но это будет не юнит-тест :)