Imagine a JUnit test that verifies that a method produces a well-formed JSON file. The test might fail because the file contents is badly formed JSON, or it might fail because no file was created at all. To help narrow down the cause of the failure, the test may first assert that the file exists and then assert that its contents is correct. (One could imagine additional, intermediate assertions as well, but their existence is not relevant to my question.) If the file does not exist, there is no reason to attempt to read and parse it.
JUnit addresses this consideration by aborting a test as soon as one of its assertion fails. (I believe the same is true of TestNG.)
In the clojure.test framework, if an assertion fails, the test (i.e. the remainder of the deftest) continues to run. I can imagine why this might be appropriate for testing Clojure programs. However, I think there is a place for JUnit style assertion semantics for when Clojure is used to test Java.
Clojure is attractive for testing Java specifically because it reduces the boilerplate code. It is possible to write Clojure tests using JUnit, but the process is onerous in the sense that it requires boilerplate code: you need to subclass a JUnit base class and you need to define your tests as methods.
Here is my question: is there an open source Clojure test framework that lets you define your tests as easily as clojure.test does but which uses JUnit-style assertion semantics?