русский
Germany.ruForen → Архив Досок→ Programmierung

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

08.11.16 09:30
Re: Unit Test. Кто использует?
 
Программист коренной житель
in Antwort MrSanders 08.11.16 08:50
Раз есть доступ к файловой системе вы сразу будете считать тест интеграционным?

Не только к файловой системе, а вообще к любому внешнему элементу.


Можно же перед вызовом метода создать временный файл в системном темпе, а после теста стереть.

можно конечно, но юнит-тест должен быть быстрым... в моем примере проверка идет на 1000 байт и такой файл можно быстро создать. а если это не 1000 байт, а скажем, 400Мб? успеешь на пенсию выйти пока файл этот создашь :) я уж не говорю о том, что проблема может быть в случае, если файл где-нибудь в сети, а на локальной машине все работает. будешь в тесте не только файл создавать, но и подключение к сети? :)


а если тест будет исполняться много времени, то в лучшем случае тест этот будет выполняться раз в сутки. а в худшем случае тест этот вообще выключат из плей-листа, т.к. работать он будет от раза к разу (например из-за нехватки места на диске)


так что таким тестом крайне сложно, а зачастую просто невозможно, покрыть (смоделировать) действительно проблемные ситуации.

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

 

Sprung zu