Overview

With Unit Test Assistant you can easily create multiple test cases for methods from a selected class, as well items selected in the Project Explorer. The methods are analyzed to create runnable test cases with initial values and sample assertions, which can be easily modified or uncommented. You can add test cases using the UTA interface or your IDE context menu.

Minimum RAM Requirement

UTA requires 2 GB of RAM for bulk creation. If you create multiple test cases for a large code base, we recommend configuring your IDE to use 4 GB of RAM.

Bulk Creation in IntelliJ IDEA

We recommend that you disable the Synchronize files on frame or editor tab activation option in the IntelliJ settings. If enabled, UTA may occasionally abort and then resume the test creation process, which may result in failing to generate one test, or generating a test that is incomplete. To disable the option:

  1. Go to File> Settings in your IntelliJ IDEA.
  2. Select Appearance & Behavior> System Settings.
  3. Disable the Synchronize files on frame or editor tab activation option.

Private methods

UTA creates test for private methods in the selected classes if the Create tests for private methods option in the UTA Preferences is enabled (see Configuring Preferences). By default, the Create tests for private methods option is disabled, since the industry best practice is to test private methods by creating tests for the accessible methods that call them, rather than by creating tests for private methods directly.

Creating Multiple Tests from the Unit Test Assistant View

  1. If the Unit Test Assistant view is not already open, choose Parasoft> Show View> Unit Test Assistant from the Eclipse menu bar.
  2. Select a class in the editor.
  3. Click the Add test case(s) action link in the Unit Test Assistant view:

    Multiple Spring Tests

    If you are creating multiple tests for Spring controller methods, the button label will change into Add Spring test case(s). See Creating a Spring Unit Test for more information about creating and configuring Spring unit tests with UTA.

    The Unit Test Assistant - Add test case(s) dialog will open.

  4.  Specify the test type:
    - Regular - Creates regular test cases.
    - Parameterized - Creates parameterized test cases (see Creating a Parameterized Unit Test for details).
    - Combined - Creates parameterized test cases for methods that can be tested against different arguments. For other methods, regular tests are created.



  5. Specify the object initialization mode:
    Deep - (default) Prepares objects and mocks using data collected from the tested method and other methods that are called when the test is executed.
    Shallow - Prepares objects and mocks using data collected from the tested method.
  6. (Optional) Enable or disable the Timeout for running created tests (in ms) option and specify the time limit (in milliseconds) for executing this set of test. If the time limit is exceeded, the test execution will stop and the test will fail. The information about the error will be displayed as a Recommendation in the UTA interface. This option is enabled and set to 1000 by default.
  7. Select the methods you want to create test cases for (you can use the Select All or Deselect All buttons for your convenience).

    Multiple Spring Tests

    If you are creating multiple Spring tests, you can click the Select Spring Handler Methods button to select all the Spring controller methods and deselect all the other methods in the list.


  8. Click OK.
  9. View the tests to modify or uncomment the default UTA values if necessary.



  10. Run the test with UTA to collect coverage information and recommendations for possible improvements (see Executing Unit Tests with Unit Test Assistant).

Creating Multiple Tests from the Context Menu

You can add mulitple test cases using the context menu in your IDE:

  1. Right-click a file, package, or project in your IDE.
  2. Click Unit Testing> Add test case(s) to open the Unit Test Assistant dialog and follow the steps 4-10 described above.


If you select one file:

  • You can specify the test type (regular, parameterized, or combined) and select the methods you want to create test cases for. 
  • UTA will add new test cases for all selected methods in the file. 

If you select a scope larger than one file:

  • You can specify the test type (regular, parameterized, or combined), but you cannot specify individual methods.
  • UTA will skip the files that are not testable or whose corresponding test classes already exist.

You can create test cases for individual methods selected in the Package Explorer if they are of the same class. If you select methods from different classes, or an individual method and a class or a package, test cases will not be generated.

Recommended Workflow

To streamline test creation, we recommend that you leverage UTA's capability to automatically update multiple test with available assertions.

  1. Disable the Generate sample assertions option in the UTA preferences (see Configuring Preferences).
  2. Create multiple tests for methods from a file, package, or project (see Creating Multiple Tests from the Context Menu).
  3. Update the tests with correct input values.
  4. Run the tests to ensure they pass.
  5. Right-click the same file, package, or project that you selected in Step 2.
  6. Choose Unit Testing> Track and make assertions from the context menu.

See  Tracking Object Changes and Creating Assertions for details.

  • No labels