Package org.testng

Class Assert

java.lang.Object
org.testng.Assert

public class Assert extends Object
Assertion tool class. Presents assertion methods with a more natural parameter order. The order is always actualValue, expectedValue [, message].
  • Field Details

  • Constructor Details

    • Assert

      protected Assert()
      Protect constructor since it is a static only class
  • Method Details

    • assertTrue

      public static void assertTrue(boolean condition, String message)
      Asserts that a condition is true. If it isn't, an AssertionError, with the given message, is thrown.
      Parameters:
      condition - the condition to evaluate
      message - the assertion error message
    • assertTrue

      public static void assertTrue(boolean condition)
      Asserts that a condition is true. If it isn't, an AssertionError is thrown.
      Parameters:
      condition - the condition to evaluate
    • assertFalse

      public static void assertFalse(boolean condition, String message)
      Asserts that a condition is false. If it isn't, an AssertionError, with the given message, is thrown.
      Parameters:
      condition - the condition to evaluate
      message - the assertion error message
    • assertFalse

      public static void assertFalse(boolean condition)
      Asserts that a condition is false. If it isn't, an AssertionError is thrown.
      Parameters:
      condition - the condition to evaluate
    • fail

      public static void fail(String message, Throwable realCause)
      Fails a test with the given message and wrapping the original exception.
      Parameters:
      message - the assertion error message
      realCause - the original exception
    • fail

      public static void fail(String message)
      Fails a test with the given message.
      Parameters:
      message - the assertion error message
    • fail

      public static void fail()
      Fails a test with no message.
    • assertEquals

      public static void assertEquals(Object actual, Object expected, String message)
      Asserts that two objects are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • areEqual

      private static boolean areEqual(Object actual, Object expected)
    • assertEqualsImpl

      private static void assertEqualsImpl(Object actual, Object expected, String message)
      Differs from assertEquals(Object, Object, String) by not taking arrays into special consideration hence comparing them by reference. Intended to be called directly to test equality of collections content.
    • assertNotEqualsImpl

      private static void assertNotEqualsImpl(Object actual, Object expected, String message)
    • areEqualImpl

      private static boolean areEqualImpl(Object actual, Object expected)
    • getArrayNotEqualReason

      private static String getArrayNotEqualReason(Object actual, Object expected)
      returns not equal reason or null if equal
    • areArraysEqual

      private static boolean areArraysEqual(Object actual, Object expected)
    • assertArrayEquals

      private static void assertArrayEquals(Object actual, Object expected, String message)
    • assertArrayNotEquals

      private static void assertArrayNotEquals(Object actual, Object expected, String message)
    • assertEquals

      public static void assertEquals(byte[] actual, byte[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(byte[] actual, byte[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(short[] actual, short[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(short[] actual, short[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(int[] actual, int[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(int[] actual, int[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(boolean[] actual, boolean[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(boolean[] actual, boolean[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(char[] actual, char[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(char[] actual, char[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(float[] actual, float[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(float[] actual, float[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(float[] actual, float[] expected, float delta)
      Asserts that two arrays contain the equal elements concerning a delta in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
    • assertEquals

      public static void assertEquals(float[] actual, float[] expected, float delta, String message)
      Asserts that two arrays contain the equal elements concerning a delta in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
      message - the assertion error message
    • assertEquals

      public static void assertEquals(double[] actual, double[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(double[] actual, double[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(double[] actual, double[] expected, double delta)
      Asserts that two arrays contain the equal elements concerning a delta in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
    • assertEquals

      public static void assertEquals(double[] actual, double[] expected, double delta, String message)
      Asserts that two arrays contain the equal elements concerning a delta in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
      message - the assertion error message
    • assertEquals

      public static void assertEquals(long[] actual, long[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(long[] actual, long[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • checkRefEqualityAndLength

      private static boolean checkRefEqualityAndLength(Object actualArray, Object expectedArray, String message)
      This methods check referential equality of given arguments as well as references length (assuming they are arrays). Successful execution of this method guaranties arrays length equality.
      Parameters:
      actualArray - array of elements
      expectedArray - array of elements
      message - the assertion error message
      Returns:
      true if actualArray and expectedArray are the same, false otherwise. If references are different and arrays length are different AssertionError is thrown.
    • assertEquals

      public static void assertEquals(Object actual, Object expected)
      Asserts that two objects are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(String actual, String expected, String message)
      Asserts that two Strings are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(String actual, String expected)
      Asserts that two Strings are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • areEqual

      private static boolean areEqual(double actual, double expected, double delta)
    • assertEquals

      public static void assertEquals(double actual, double expected, double delta, String message)
      Asserts that two doubles are equal concerning a delta. If they are not, an AssertionError, with the given message, is thrown. If the expected value is infinity then the delta value is ignored.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
      message - the assertion error message
    • assertEquals

      public static void assertEquals(double actual, double expected, double delta)
      Asserts that two doubles are equal concerning a delta. If they are not, an AssertionError is thrown. If the expected value is infinity then the delta value is ignored.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
    • assertEquals

      public static void assertEquals(double actual, double expected, String message)
      Asserts that two doubles are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(double actual, double expected)
      Asserts that two doubles are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • areEqual

      private static boolean areEqual(float actual, float expected, float delta)
    • assertEquals

      public static void assertEquals(float actual, float expected, float delta, String message)
      Asserts that two floats are equal concerning a delta. If they are not, an AssertionError, with the given message, is thrown. If the expected value is infinity then the delta value is ignored.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
      message - the assertion error message
    • assertEquals

      public static void assertEquals(float actual, float expected, float delta)
      Asserts that two floats are equal concerning a delta. If they are not, an AssertionError is thrown. If the expected value is infinity then the delta value is ignored.
      Parameters:
      actual - the actual value
      expected - the expected value
      delta - the absolute tolerable difference between the actual and expected values
    • assertEquals

      public static void assertEquals(float actual, float expected, String message)
      Asserts that two floats are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(float actual, float expected)
      Asserts that two floats are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(long actual, long expected, String message)
      Asserts that two longs are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(long actual, long expected)
      Asserts that two longs are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(boolean actual, boolean expected, String message)
      Asserts that two booleans are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(boolean actual, boolean expected)
      Asserts that two booleans are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(byte actual, byte expected, String message)
      Asserts that two bytes are equal. If they are not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(byte actual, byte expected)
      Asserts that two bytes are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(char actual, char expected, String message)
      Asserts that two chars are equal. If they are not, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(char actual, char expected)
      Asserts that two chars are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(short actual, short expected, String message)
      Asserts that two shorts are equal. If they are not, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(short actual, short expected)
      Asserts that two shorts are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(int actual, int expected, String message)
      Asserts that two ints are equal. If they are not, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(int actual, int expected)
      Asserts that two ints are equal. If they are not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertNotNull

      public static void assertNotNull(Object object)
      Asserts that an object isn't null. If it is, an AssertionError is thrown.
      Parameters:
      object - the assertion object
    • assertNotNull

      public static void assertNotNull(Object object, String message)
      Asserts that an object isn't null. If it is, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      object - the assertion object
      message - the assertion error message
    • assertNull

      public static void assertNull(Object object)
      Asserts that an object is null. If it is not, an AssertionError, with the given message, is thrown.
      Parameters:
      object - the assertion object
    • assertNull

      public static void assertNull(Object object, String message)
      Asserts that an object is null. If it is not, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      object - the assertion object
      message - the assertion error message
    • assertSame

      public static void assertSame(Object actual, Object expected, String message)
      Asserts that two objects refer to the same object. If they do not, an AssertionFailedError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertSame

      public static void assertSame(Object actual, Object expected)
      Asserts that two objects refer to the same object. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertNotSame

      public static void assertNotSame(Object actual, Object expected, String message)
      Asserts that two objects do not refer to the same objects. If they do, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertNotSame

      public static void assertNotSame(Object actual, Object expected)
      Asserts that two objects do not refer to the same object. If they do, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • failSame

      private static void failSame(Object actual, Object expected, String message)
    • failNotSame

      private static void failNotSame(Object actual, Object expected, String message)
    • failNotEquals

      private static void failNotEquals(Object actual, Object expected, String message)
    • failEquals

      private static void failEquals(Object actual, Object expected, String message)
    • format

      static String format(Object actual, Object expected, String message, boolean isAssertEquals)
    • assertEquals

      public static void assertEquals(Collection<?> actual, Collection<?> expected)
      Asserts that two collections contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(Collection<?> actual, Collection<?> expected, String message)
      Asserts that two collections contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(Iterator<?> actual, Iterator<?> expected)
      Asserts that two iterators return the same elements in the same order. If they do not, an AssertionError is thrown. Please note that this assert iterates over the elements and modifies the state of the iterators.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(Iterator<?> actual, Iterator<?> expected, String message)
      Asserts that two iterators return the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown. Please note that this assert iterates over the elements and modifies the state of the iterators.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(Iterable<?> actual, Iterable<?> expected)
      Asserts that two iterables return iterators with the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(Iterable<?> actual, Iterable<?> expected, String message)
      Asserts that two iterables return iterators with the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEquals

      public static void assertEquals(Object[] actual, Object[] expected, String message)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • assertEqualsNoOrder

      public static void assertEqualsNoOrder(Object[] actual, Object[] expected, String message)
      Asserts that two arrays contain the same elements in no particular order. If they do not, an AssertionError, with the given message, is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
      message - the assertion error message
    • failAssertNoEqual

      private static void failAssertNoEqual(String defaultMessage, String message)
    • assertEquals

      public static void assertEquals(Object[] actual, Object[] expected)
      Asserts that two arrays contain the same elements in the same order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEqualsNoOrder

      public static void assertEqualsNoOrder(Object[] actual, Object[] expected)
      Asserts that two arrays contain the same elements in no particular order. If they do not, an AssertionError is thrown.
      Parameters:
      actual - the actual value
      expected - the expected value
    • assertEquals

      public static void assertEquals(Set<?> actual, Set<?> expected)
      Asserts that two sets are equal.
      Parameters:
      actual - The actual value
      expected - The expected value
    • getNotEqualReason

      private static String getNotEqualReason(Set<?> actual, Set<?> expected)
      returns not equal reason or null if equal
    • assertEquals

      public static void assertEquals(Set<?> actual, Set<?> expected, String message)
      Assert set equals
      Parameters:
      actual - The actual value
      expected - The expected value
      message - The message
    • getNotEqualDeepReason

      private static String getNotEqualDeepReason(Set<?> actual, Set<?> expected)
      returns not equal deep reason or null if equal
    • assertEqualsDeep

      public static void assertEqualsDeep(Set<?> actual, Set<?> expected, String message)
    • assertEquals

      public static void assertEquals(Map<?,?> actual, Map<?,?> expected)
    • getNotEqualReason

      private static String getNotEqualReason(Map<?,?> actual, Map<?,?> expected)
    • assertEquals

      public static void assertEquals(Map<?,?> actual, Map<?,?> expected, String message)
      Asserts that two maps are equal.
      Parameters:
      actual - The actual value
      expected - The expected value
      message - The message
    • assertEqualsDeep

      public static void assertEqualsDeep(Map<?,?> actual, Map<?,?> expected)
    • getNotEqualDeepReason

      private static String getNotEqualDeepReason(Map<?,?> actual, Map<?,?> expected)
      returns not equal deep reason or null if equal
    • assertEqualsDeep

      public static void assertEqualsDeep(Map<?,?> actual, Map<?,?> expected, String message)
    • assertNotEquals

      public static void assertNotEquals(Object actual, Object expected, String message)
    • assertNotEquals

      public static void assertNotEquals(Object actual1, Object actual2)
    • assertNotEquals

      static void assertNotEquals(String actual1, String actual2, String message)
    • assertNotEquals

      static void assertNotEquals(String actual1, String actual2)
    • assertNotEquals

      static void assertNotEquals(long actual1, long actual2, String message)
    • assertNotEquals

      static void assertNotEquals(long actual1, long actual2)
    • assertNotEquals

      static void assertNotEquals(boolean actual1, boolean actual2, String message)
    • assertNotEquals

      static void assertNotEquals(boolean actual1, boolean actual2)
    • assertNotEquals

      static void assertNotEquals(byte actual1, byte actual2, String message)
    • assertNotEquals

      static void assertNotEquals(byte actual1, byte actual2)
    • assertNotEquals

      static void assertNotEquals(char actual1, char actual2, String message)
    • assertNotEquals

      static void assertNotEquals(char actual1, char actual2)
    • assertNotEquals

      static void assertNotEquals(short actual1, short actual2, String message)
    • assertNotEquals

      static void assertNotEquals(short actual1, short actual2)
    • assertNotEquals

      static void assertNotEquals(int actual1, int actual2, String message)
    • assertNotEquals

      static void assertNotEquals(int actual1, int actual2)
    • assertNotEquals

      public static void assertNotEquals(float actual, float expected, float delta, String message)
    • assertNotEquals

      public static void assertNotEquals(float actual1, float actual2, float delta)
    • assertNotEquals

      public static void assertNotEquals(double actual, double expected, double delta, String message)
    • assertNotEquals

      public static void assertNotEquals(Set<?> actual, Set<?> expected)
    • assertNotEquals

      public static void assertNotEquals(Set<?> actual, Set<?> expected, String message)
    • assertNotEqualsDeep

      public static void assertNotEqualsDeep(Set<?> actual, Set<?> expected)
    • assertNotEqualsDeep

      public static void assertNotEqualsDeep(Set<?> actual, Set<?> expected, String message)
    • assertNotEquals

      public static void assertNotEquals(Map<?,?> actual, Map<?,?> expected)
    • assertNotEquals

      public static void assertNotEquals(Map<?,?> actual, Map<?,?> expected, String message)
    • assertNotEqualsDeep

      public static void assertNotEqualsDeep(Map<?,?> actual, Map<?,?> expected)
    • assertNotEqualsDeep

      public static void assertNotEqualsDeep(Map<?,?> actual, Map<?,?> expected, String message)
    • assertNotEquals

      public static void assertNotEquals(double actual1, double actual2, double delta)
    • assertThrows

      public static void assertThrows(Assert.ThrowingRunnable runnable)
      Asserts that runnable throws an exception when invoked. If it does not, an AssertionError is thrown.
      Parameters:
      runnable - A function that is expected to throw an exception when invoked
      Since:
      6.9.5
    • assertThrows

      public static <T extends Throwable> void assertThrows(Class<T> throwableClass, Assert.ThrowingRunnable runnable)
      Asserts that runnable throws an exception of type throwableClass when executed. If it does not throw an exception, an AssertionError is thrown. If it throws the wrong type of exception, an AssertionError is thrown describing the mismatch; the exception that was actually thrown can be obtained by calling Throwable.getCause().
      Type Parameters:
      T - the expected type of the exception
      Parameters:
      throwableClass - the expected type of the exception
      runnable - A function that is expected to throw an exception when invoked
      Since:
      6.9.5
    • expectThrows

      public static <T extends Throwable> T expectThrows(Class<T> throwableClass, Assert.ThrowingRunnable runnable)
      Asserts that runnable throws an exception of type throwableClass when executed and returns the exception. If runnable does not throw an exception, an AssertionError is thrown. If it throws the wrong type of exception, an AssertionError is thrown describing the mismatch; the exception that was actually thrown can be obtained by calling Throwable.getCause().
      Type Parameters:
      T - the expected type of the exception
      Parameters:
      throwableClass - the expected type of the exception
      runnable - A function that is expected to throw an exception when invoked
      Returns:
      The exception thrown by runnable
      Since:
      6.9.5