## Why is this an issue?

Assertion methods are throwing a "`java.lang.AssertionError`". If this call is done within the try block of a try-catch cathing a similar error, you should make sure to test some properties of the exception. Otherwise, the assertion will never fail.

### Noncompliant code example

    @Test
    public void should_throw_assertion_error() {
      try {
        throwAssertionError();
        Assert.fail("Expected an AssertionError!"); // Noncompliant, the AssertionError will be caught and the test will never fail.
      } catch (AssertionError e) {}
    }

    private void throwAssertionError() {
      throw new AssertionError("My assertion error");
    }

### Compliant solution

    assertThrows(AssertionError.class, () -> throwAssertionError());

    try {
       throwAssertionError();
       Assert.fail("Expected an AssertionError!"); // Compliant, we made sure to test that the correct error is raised
     } catch (AssertionError e) {
       Assert.assertThat(e.getMessage(), is("My assertion error"));
     }

## Resources

- JUnit 4 exception testing documentation