Class GroovyAssert
- java.lang.Object
-
- groovy.test.GroovyAssert
-
public class GroovyAssert extends Object
GroovyAssertcontains a set of static assertion and test helper methods for JUnit 4+. They augment the kind of helper methods found in JUnit 4'sAssertclass. JUnit 3 users typically don't use these methods but instead, the equivalent methods inGroovyTestCase.GroovyAssertmethods can either be used by fully qualifying the static method like:groovy.test.GroovyAssert.shouldFail { ... }or by importing the static methods with one ore more static imports:import static groovy.test.GroovyAssert.shouldFailBackwards compatibility note: Prior to Groovy 4,GroovyAssertextended JUnit 4'sAssertclass. This meant that you could statically import static methods from that class viaGroovyAssert, e.g.:import static groovy.test.GroovyAssert.assertNotNullThis is generally regarded as a code smell since inheritance is primarily to do with instance methods. From Groovy 4, you should import such methods directly, e.g.:import static org.junit.Assert.assertNotNull- Since:
- 2.3
- See Also:
GroovyTestCase
-
-
Field Summary
Fields Modifier and Type Field Description static StringTEST_SCRIPT_NAME_PREFIX
-
Constructor Summary
Constructors Constructor Description GroovyAssert()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidassertScript(GroovyShell shell, String script)Asserts that the script runs using the given shell without any exceptionsstatic voidassertScript(String script)Asserts that the script runs without any exceptionsstatic voidfail(String message)protected static StringgenericScriptName()static booleanisAtLeastJdk(String specVersion)static booleannotYetImplemented(Object caller)Runs the calling JUnit test again and fails only if it unexpectedly runs.
This is helpful for tests that don't currently work but should work one day, when the tested functionality has been implemented.static ThrowableshouldFail(Closure code)Asserts that the given code closure fails when it is evaluatedstatic ThrowableshouldFail(GroovyShell shell, Class clazz, String script)Asserts that the given script fails when it is evaluated using the given shell and that a particular type of exception is thrown.static ThrowableshouldFail(GroovyShell shell, String script)Asserts that the given script fails when it is evaluated using the given shellstatic ThrowableshouldFail(Class clazz, Closure code)Asserts that the given code closure fails when it is evaluated and that a particular type of exception is thrown.static ThrowableshouldFail(Class clazz, String script)Asserts that the given script fails when it is evaluated and that a particular type of exception is thrown.static ThrowableshouldFail(String script)Asserts that the given script fails when it is evaluatedstatic ThrowableshouldFailWithCause(Class expectedCause, Closure code)Asserts that the given code closure fails when it is evaluated and that a particular Exception type can be attributed to the cause.
-
-
-
Field Detail
-
TEST_SCRIPT_NAME_PREFIX
public static final String TEST_SCRIPT_NAME_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
genericScriptName
protected static String genericScriptName()
- Returns:
- a generic script name to be used by
GroovyShell#evaluatecalls.
-
assertScript
public static void assertScript(String script) throws Exception
Asserts that the script runs without any exceptions- Parameters:
script- the script that should pass without any exception thrown- Throws:
Exception
-
assertScript
public static void assertScript(GroovyShell shell, String script)
Asserts that the script runs using the given shell without any exceptions- Parameters:
shell- the shell to use to evaluate the scriptscript- the script that should pass without any exception thrown
-
shouldFail
public static Throwable shouldFail(Closure code)
Asserts that the given code closure fails when it is evaluated- Parameters:
code- the code expected to fail- Returns:
- the caught exception
-
fail
public static void fail(String message)
-
shouldFail
public static Throwable shouldFail(Class clazz, Closure code)
Asserts that the given code closure fails when it is evaluated and that a particular type of exception is thrown.- Parameters:
clazz- the class of the expected exceptioncode- the closure that should fail- Returns:
- the caught exception
-
shouldFailWithCause
public static Throwable shouldFailWithCause(Class expectedCause, Closure code)
Asserts that the given code closure fails when it is evaluated and that a particular Exception type can be attributed to the cause. The expected exception class is compared recursively with any nested exceptions using getCause() until either a match is found or no more nested exceptions exist.If a match is found, the matching exception is returned otherwise the method will fail.
- Parameters:
expectedCause- the class of the expected exceptioncode- the closure that should fail- Returns:
- the cause
-
shouldFail
public static Throwable shouldFail(Class clazz, String script)
Asserts that the given script fails when it is evaluated and that a particular type of exception is thrown.- Parameters:
clazz- the class of the expected exceptionscript- the script that should fail- Returns:
- the caught exception
-
shouldFail
public static Throwable shouldFail(GroovyShell shell, Class clazz, String script)
Asserts that the given script fails when it is evaluated using the given shell and that a particular type of exception is thrown.- Parameters:
shell- the shell to use to evaluate the scriptclazz- the class of the expected exceptionscript- the script that should fail- Returns:
- the caught exception
-
shouldFail
public static Throwable shouldFail(String script)
Asserts that the given script fails when it is evaluated- Parameters:
script- the script expected to fail- Returns:
- the caught exception
-
shouldFail
public static Throwable shouldFail(GroovyShell shell, String script)
Asserts that the given script fails when it is evaluated using the given shell- Parameters:
shell- the shell to use to evaluate the scriptscript- the script expected to fail- Returns:
- the caught exception
-
notYetImplemented
public static boolean notYetImplemented(Object caller)
Runs the calling JUnit test again and fails only if it unexpectedly runs.
This is helpful for tests that don't currently work but should work one day, when the tested functionality has been implemented.
The right way to use it for JUnit 3 is:
public void testXXX() { if (GroovyAssert.notYetImplemented(this)) return; ... the real (now failing) unit test }or for JUnit 4@Test public void XXX() { if (GroovyAssert.notYetImplemented(this)) return; ... the real (now failing) unit test }Idea copied from HtmlUnit (many thanks to Marc Guillemot). Future versions maybe available in the JUnit distribution.
- Returns:
falsewhen not itself already in the call stack
-
isAtLeastJdk
public static boolean isAtLeastJdk(String specVersion)
- Returns:
- true if the JDK version is at least the version given by specVersion (e.g. "1.8", "9.0")
- Since:
- 2.5.7
-
-