In this section:
Use the -help
command line switch:
jtestcli.exe -help |
-D
command line option.To work with Jtest, ensure that the system properties for the HTTPS protocol are configured. At a minimum, you must configure https.proxySet=true
, https.proxyHost=[hostname]
, and https.proxyPort=[port number]
. If your proxy server requires authentication, you can configure your credentials with the https.proxyUser
and https.proxyPassword
properties.
Your command line may resemble the following:
java -Dhttps.proxySet=true -Dhttps.proxyHost=myserver.example.com -Dhttps.proxyPort=8080 -Dhttps.proxyUser=user1 -Dhttps.proxyPassword=MyPassword |
In addition, you can configure the https.nonProxyHosts
property to specify hosts where connection via proxy is not required.
If you use Jtest on desktop with Eclipse or IntelliJ IDEA, the proxy settings are automatically detected and do not need to be configured in the command line.
Changes in the network environment may affect the interface that is used to compute your machine ID and result in machine ID instability. You can use the PARASOFT_SUPPORT_NET_INTERFACES environment variable to specify a stable interface and prevent the machine ID from floating.
Set the variable value to a stable Ethernet network interface. Do not use virtual, temporary or loopback interfaces.
- On Windows: Set the value to the MAC address of your network card. You can use the ipconfig -all
command to obtain the address. For example:
SET PARASOFT_SUPPORT_NET_INTERFACES=00-10-D9-27-AC-85 |
- On Linux: Set the value to one of the network interfaces from the "inet" or "inet6" family. You can use the ifconfig
command to obtain the list of available interfaces. For example:
export PARASOFT_SUPPORT_NET_INTERFACES=eth1 |
If the problem persists, you can obtain diagnostic information by setting up the environment variable PARASOFT_DEBUG_NET_INTERFACES and setting its value to true. This will print to the standard output the checking procedure that can be shared with technical support, as well as the interface that is used to compute your machine ID. The interface will be marked with the [SELECTED] prefix.
The new version of Jtest may require more memory to run static analysis. You can increase memory allocation by configuring the -Xmx option in the [INSTALL_DIR]/etc/jtestcli.jvm configuration file.
If Jtest reports compilation problems related to importing dependencies in the Maven test scope, try running the jtest:jtest
goal with the mvn test
command:
mvn test jtest:jtest |
jtest:coverage
goal (Maven) or jtest-coverage
task (Gradle) fail the build?The Jtest coverage
goal/task was dropped with release 10.2.2 (plugin version 1.2.4) and is no longer available (see Migration From 10.x to 10.2.2 or later). Executing this goal fails the build with the following messages:
[ERROR] Could not find goal 'coverage' in plugin com.parasoft.jtest:jtest-maven-plugin
. (Maven)
Task 'jtest-coverage' not found (Gradle)
A Gradle build may fail when you perform test impact analysis with Jtest on multi-module projects if a submodule does not contain tests that are identified as affected tests during test impact analysis. To prevent a Gradle build from failing when no tests are found, configure the following option:setFailOnNoMatchingTests(false)
To enable collecting coverage, Jtest automatically configures the JVM arguments for the Jtest coverage agent. Overriding these arguments prevents Jtest from collecting coverage data. If your Gradle build script modifies JVM arguments, ensure they are added (+=) to other JVM arguments to prevent overriding:
] |
] |
To ensure that all of the required dependencies are resolved, you may need to enable resolving transitive dependencies by adding the following option to your command line:
-Djtest.resolve.transitive=true |
To ensure that files that include BOM are properly processed and tested, you need to configure Jtest to remove BOM when the file is parsed. Add one of the following settings to the jtest.properties
configuration file:
jtest.parser.bom=remove
- removes BOM and leaves the original file encoding unchanged.jtest.parser.bom=recognize
- removes BOM and overrides the original fine encoding with the encoding defined by BOMBy default, Jtest does not differentiate between tests that always fail when run on the same code and tests that can either pass or fail (flaky tests). You can configure Jtest to recognize flaky tests by enabling the deprecated XML processing mechanism to be used for test execution. Add the following option in the jtestcli.properties
configuration file:
jtest.unittest.xml.results.processing.enabled=
true
Note that enabling the deprecated XML processing mechanism may slow down test execution.
To correctly process and analyze a file, Jtest must be able to match the file name you provided in the testing scope (i.e. the file name in your project) with the file name in the source control system. For this reason, if you are using a case-sensitive source control system, such a Git, you need to ensure that the file name capitalization is identical.
Your report may not include the issue tracking tags you have configured (see Associating Tests with Development Artifacts) if Jtest is unable to resolve one or more required dependencies. To prevent this, see What if Jtest cannot resolve required dependencies while running analysis or executing tests with Maven?.
On Windows, a file path longer than 250 characters may prevent accessing the file. If your workspace is deeply nested in the folder structure, the path to some UTA files may exceed 250 characters. If the files that are key to test execution cannot be accessed, test execution fails.
To ensure that the path to the UTA files does not exceed the limit, you may consider moving your workspace folder higher in the folder hierarchy.
IntelliJ IDEA versions earlier than 2017.3 do not have full support for JUnit 5. As a result, tests may fail to execute if JUnit 5 dependencies are included in your project. For example, the problem may occur when you add the Unit Test Assistant Library container (see Automatically Adding the Required Libraries) or try to execute tests included in Jtest example projects.
For this reason, it is recommended to upgrade IntelliJ IDEA to version 2017.3 or higher. Alternatively, you can update the classpath, as described in the JUnit 5 User Guide.
If the problem occurred after automatically adding the Unit Test Assistant container, you may need to manually remove it.
In rare cases, the Jtest run configuration may not work due to a known issue in some IntelliJ versions (see https://youtrack.jetbrains.com/issue/IDEA-223124 for details). If this happens, you need restart your IDE. The Jtest run configuration will be working after the restart.