Details

Recommendation type: Exceptions and assertion errors

Configurable in Preferences: No

Filter category: Exceptions / assertion errors

Description

UTA displays this recommendation when:

  • a test fails during execution.
  • an unexpected exception is thrown.
  • an expected exception fails to be thrown.
  • the exception that is thrown is different than the expected exception.

Depending on you code, the following action links may be available:

  • Highlight - Highlights the issue in the execution flow displayed in the Unit Test Assistant view.
  • Go to - Highlights the code associated with the recommendation in the editor (for example, the code that throws the exception).
  • Mark as expected - Marks the reported exception as expected, which prevents UTA from displaying this recommendation during subsequent test runs.
    - In Junit 4 tests, it marks the test with the @Test(expected=...) annotation (see Examples for JUnit 4 Tests).
    - In JUnit 5 tests, it wraps the exception into the assertThrows() method (see Examples for JUnit 5 Tests).
  • Remove expected exception - removes the @Test(expected=...) annotation or the assertThrows() method from the test code; this option is available if the expected exception fails to be thrown during the test run.

(info) UTA does not show the Mark as expected and Remove expected exception options for tests that use @Rule ExpectedException to handle exceptions.

Examples for JUnit 4 Tests

Example 1 - Exception Thrown

The following test has been created for the makePayment method:

UTA detected that the exception was thrown:

Click Mark as expected to update @Test(expected=...) annotation with the exception that was thrown:

Example 2 - Expected Exception is Not Thrown

In the following example, IllegalArgumentException is expected:

UTA detected that no exception was thrown:

Click Remove expected exception to remove the Test(expected = IllegalArgumentException.class) annotation from the test:

Example 3 - Wrong Exception Thrown

In the following example, IllegalArgumentException is expected:

UTA detected that the exception that was actually thrown is Error:

Click Mark as expected to update @Test(expected=...) annotation with the exception that was thrown:

Examples for JUnit 5 Test

The following test has been created for the makePayment method:

UTA detected that the exception was thrown:

Click Mark as expected to wrap the exception that was thrown with the assertThrows method:


  • No labels