Ответ 1
Существует два стандартных способа приближения к тесту, которые зависят от чего-то другого (объект, вызов функции и т.д.).
- Вы можете использовать mocks вместо объектов, от которых зависит ваш код.
- Вы можете загрузить прибор или выполнить создание/вызов в тестовой настройке.
Некоторые люди любят "классические" модульные тесты, где тестируется только "единица" кода. В этих случаях вы обычно используете mocks и stubs для замены зависимостей.
Другие, такие как более интегративные тесты, в которых тестируется большинство или весь стек вызовов. В этих случаях вы используете приспособление или, возможно, даже вызываете/создаете в настройке.
Обычно вы не заставляете один тест зависеть от другого. Все тесты должны:
- очистить после себя
- может выполняться изолированно
- может выполняться как часть пакета
- быть последовательным и повторяемым
Если вы делаете один тест зависимым от другого, их нельзя запускать изолированно, и вы также вынуждаете заказ на запуск тестов. Выполнение заказа в тестах не очень хорошо, ведь многие люди считают, что вы должны рандомизировать порядок, в котором выполняются ваши тесты.