I have a minor problem with these kind of asserts. If the assert fails, how do you see what type of exception did we get? All you get is a failure saying that the assertion is false, which is not very helpful unless you add a message to show you the type of the exception you got.

For the Java guys, there's Hamcrest and JUnit's assertThat which can give you more info, e.g.

`assertThat(subClass, instanceOf(BaseClass.class));`

For Scala, I've found ScalaTest to have some interesting assert clauses, such as triple `===` which will compare two objects if they're the same and if not, it'll tell you where the difference is (assuming they have a reasonable `toString` version). They also have stuff for checking instanceof:

`List(1,2,3) shouldBe a [List[_]]`