Java library calls, for instance for network I/O, may result in exceptions. Exhaustive testing of exceptions is very difficult. Enforcer automatically tests all relevant outcomes of actions that may cause an exception, and combines the structure of unit tests with coverage information and fault injection. Enforcer supports Java 1.5–1.6 and JUnit 3.8.1.