A refactor often changes boundaries. Which breaks unit tests. Its integration tests that are truly agnostic to implementation.