## Why is this an issue?

When the code under test in a unit test throws an exception, the test itself fails. Therefore, there is no need to surround the tested code with a `try`-`catch` structure to detect failure. Instead, you can simply move the exception type to the method signature.

This rule raises an issue when there is a fail assertion inside a `catch` block.

Supported frameworks:

- JUnit3
- JUnit4
- JUnit5
- Fest assert
- AssertJ

### Noncompliant code example

    @Test
    public void testMethod() {
      try {
                // Some code
      } catch (MyException e) {
        Assert.fail(e.getMessage());  // Noncompliant
      }
    }

### Compliant solution

    @Test
    public void testMethod() throws MyException {
        // Some code
    }