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