Writing Contract Tests in Java differently

It has the advantage of keeping strongly related test classes closer together, which suggests higher cohesion. It also has the advantage of encouraging designers to keep contract tests separate from tests for implementation details.