Maybe Rails apps are too sophisticated in terms of coding constructs to be easily and cheaply test driven. At least compared to Java. Maybe frameworks are harder to TDD too, compared to libraries. Refactoring, in tools like Intellij for Java, is like giving the Mona-Lisa a proper smile with your fingers, hundreds of years after the last brush stroke, and perfectly. Not only that, but Intellij’s local-history undo is perfect too. Don’t like that smile? Hit Ctrl-Z.