Юнит-тесты по определению хрупкие. Они ломаются при изменении связанного кода (тестируемой системы). Это по замыслу. Вот как модульные тесты дают значение.
Чего мы хотим избежать, так это тестов, которые ломаются при изменении кода, но логика - нет. Например, нежелательно иметь большинство существующих тестов при добавлении нового требования.
К сожалению, избежать такой хрупкости нелегко. Во всех случаях, кроме самых простых, модульный тест будет иметь некоторые знания о реализации тестируемой системы (например, макетированные объекты). Пока это правда, тест будет хрупким.
Лучший способ избежать этой проблемы - избегать написания классов, которые нужно изменить. На самом деле это проще, чем кажется при соблюдении принципов SOLID.