What is untestable code? It has no unit tests. Writing unit tests for it would be difficult or impossible without modifying the code. Common attributes include global state, tight coupling, and long methods that do lots of things. Testable code, on the other hand, tends to consist of smaller classes and methods with well-defined purposes.