/** Testing the notYetImplemented feature of GroovyTestCase. Todo: testing all other features. @author Dierk Koenig */ class GroovyTestCaseTest extends GroovyTestCase { void testNotYetImplementedSubclassUse () { if (notYetImplemented()) return fail 'here the code that is expected to fail' } void testNotYetImplementedStaticUse () { if (GroovyTestCase.notYetImplemented(this)) return fail 'here the code that is expected to fail' } // we cannot test this automatically... // remove the leading x, run the test and see it failing void xtestSubclassFailing() { if (notYetImplemented()) return assert true // passes unexpectedly } void xtestStaticFailing() { if (GroovyTestCase.notYetImplemented(this)) return assert true // passes unexpectedly } // ---------------- void testShouldFailWithMessage() { def msg = shouldFail { throw new RuntimeException('x') } assertEquals 'java.lang.RuntimeException: x', msg } void testShouldFailWithMessageForClass() { def msg = shouldFail(RuntimeException.class) { throw new RuntimeException('x') } println msg assertEquals 'x', msg } }