## groovy.util
Class GroovyTestCase

    java.lang.Object
      junit.framework.Assert
          junit.framework.TestCase
              groovy.util.GroovyTestCase

All Implemented Interfaces:
  Test

    public class GroovyTestCase

extends TestCase

A default JUnit TestCase in Groovy. This provides a number of helper methods plus avoids the JUnit restriction of requiring all test* methods to be void return type.

Version:
  $Revision: 14148 $
Author:
  bob mcwhirter, James Strachan, Dierk Koenig (the notYetImplemented feature, changes to shouldFail)

Field Summary
`protected static Logger` `log`
`static String` `TEST_SCRIPT_NAME_PREFIX`

Constructor Summary
`GroovyTestCase()`

Method Summary
`protected void` `assertArrayEquals(Object[] expected, Object[] value)` Asserts that the arrays are equivalent and contain the same values
`protected void` `assertContains(char expected, char[] array)` Asserts that the array of characters contains a given char
`protected void` `assertContains(int expected, int[] array)` Asserts that the array of ints contains a given int
`static void` `assertEquals(Object expected, Object actual)`
`static void` `assertEquals(String message, Object expected, Object actual)`
`static void` `assertEquals(String expected, String actual)`
`protected void` `assertInspect(Object value, String expected)` Asserts that the value of inspect() on the given object matches the given text string
`protected void` `assertLength(int length, char[] array)` Asserts that the array of characters has a given length
`protected void` `assertLength(int length, int[] array)` Asserts that the array of ints has a given length
`protected void` `assertLength(int length, Object[] array)` Asserts that the array of objects has a given length
`protected void` `assertScript(String script)` Asserts that the script runs without any exceptions
`protected void` `assertToString(Object value, String expected)` Asserts that the value of toString() on the given object matches the given text string
`protected String` `fixEOLs(String value)` Returns a copy of a string in which all EOLs are \n.
`String` `getMethodName()`
`String` `getName()` Overload the getName() method to make the test cases look more like AgileDox (thanks to Joe Walnes for this tip!)
`protected String` `getTestClassName()`
`boolean` `notYetImplemented()` Convenience method for subclasses of GroovyTestCase, identical to GroovyTestCase.notYetImplemented(this); .
`static boolean` `notYetImplemented(TestCase caller)` Runs the calling JUnit test again and fails only if it unexpectedly runs.
`protected String` `shouldFail(Class clazz, Closure code)` Asserts that the given code closure fails when it is evaluated and that a particular exception is thrown.
`protected String` `shouldFail(Closure code)` Asserts that the given code closure fails when it is evaluated
`protected String` `shouldFailWithCause(Class clazz, Closure code)`

Methods inherited from class junit.framework.TestCase
`countTestCases, createResult, run, run, runBare, runTest, setName, setUp, tearDown, toString`

Methods inherited from class junit.framework.Assert

`assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### log

    protected static Logger log

### TEST_SCRIPT_NAME_PREFIX

    public static final String TEST_SCRIPT_NAME_PREFIX

See Also:
  Constant Field Values

Constructor Detail

### GroovyTestCase

    public GroovyTestCase()

Method Detail

### getName

    public String getName()

  Overload the getName() method to make the test cases look more like AgileDox (thanks to Joe Walnes for this tip!)

  Overrides:
    `getName` in class `TestCase`

### getMethodName

    public String getMethodName()

### assertArrayEquals

    protected void assertArrayEquals(Object[] expected,
                                     Object[] value)

  Asserts that the arrays are equivalent and contain the same values

  Parameters:
    `expected` -
    `value` -

### assertLength

    protected void assertLength(int length,
                                char[] array)

  Asserts that the array of characters has a given length

  Parameters:
    `length` - expected length
    `array` - the array

### assertLength

    protected void assertLength(int length,
                                int[] array)

  Asserts that the array of ints has a given length

  Parameters:
    `length` - expected length
    `array` - the array

### assertLength

    protected void assertLength(int length,
                                Object[] array)

  Asserts that the array of objects has a given length

  Parameters:
    `length` - expected length
    `array` - the array

### assertContains

    protected void assertContains(char expected,
                                  char[] array)

  Asserts that the array of characters contains a given char

  Parameters:
    `expected` - expected character to be found
    `array` - the array

### assertContains

    protected void assertContains(int expected,
                                  int[] array)

  Asserts that the array of ints contains a given int

  Parameters:
    `expected` - expected int
    `array` - the array

### assertToString

    protected void assertToString(Object value,
                                  String expected)

  Asserts that the value of toString() on the given object matches the given text string

  Parameters:
    `value` - the object to be output to the console
    `expected` - the expected String representation

### assertInspect

    protected void assertInspect(Object value,
                                 String expected)

  Asserts that the value of inspect() on the given object matches the given text string

  Parameters:
    `value` - the object to be output to the console
    `expected` - the expected String representation

### assertScript

    protected 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`

### getTestClassName

    protected String getTestClassName()

### shouldFail

    protected String shouldFail(Closure code)

  Asserts that the given code closure fails when it is evaluated

  Parameters:
    `code` -
  Returns:
    the message of the thrown Throwable

### shouldFail

    protected String shouldFail(Class clazz,
                                Closure code)

  Asserts that the given code closure fails when it is evaluated and that a particular exception is thrown.

  Parameters:
    `clazz` - the class of the expected exception
    `code` - the closure that should fail
  Returns:
    the message of the expected Throwable

### shouldFailWithCause

    protected String shouldFailWithCause(Class clazz,
                                         Closure code)

### fixEOLs

    protected String fixEOLs(String value)

  Returns a copy of a string in which all EOLs are \n.

### notYetImplemented

    public static boolean notYetImplemented(TestCase 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 is:

       public void testXXX() {
         if (GroovyTestCase.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 distro. The purpose of providing a 'static' version is such that you can use the feature even if not subclassing GroovyTestCase.

  Returns:
    <false> when not itself already in the call stack

### notYetImplemented

    public boolean notYetImplemented()

  Convenience method for subclasses of GroovyTestCase, identical to

       GroovyTestCase.notYetImplemented(this);

  .

  Returns:
    <false> when not itself already in the call stack
  See Also:
    `notYetImplemented(junit.framework.TestCase)`

### assertEquals

    public static void assertEquals(String message,
                                    Object expected,
                                    Object actual)

### assertEquals

    public static void assertEquals(Object expected,
                                    Object actual)

### assertEquals

    public static void assertEquals(String expected,
                                    String actual)

Copyright © 2003-2009 The Codehaus. All rights reserved.