When drilling down from the project dashboard, the resource viewer is the ultimate place to view detailed information on a given resource: file or unit tests file. The power of the tool comes from the fact that the resources can be viewed according to different axes of quality.
When drilling down into measures, you will eventually reach the file level and will be able to browse the source code.
Sonar is shipped with 6 default tabs. Depending on the plugins you have installed, other tabs may be displayed.
This tab displays source code with highlighted syntax.
To display the new/modified source code or view the last committers, you need to install the SCM Activity Plugin.
The Coverage tab displays the source code decorated with information about code coverage (by unit tests and/or integration tests).
In the source code:
The features described below are available since Sonar 3.5.
When clicking on a figure displayed in the first column, the unit tests covering this specific line are listed:
When selecting Per test > Covered lines in the second dropdown list, a third dropdown list appears. In this latter list, it is possible to select a specific unit test. Then, only lines covered by this unit test are displayed in the source code viewer:
The Violations tab displays violations with their related reviews directly in the source code.
The violations to display can be filtered by coding rule, severity, etc.
Thanks to the Time changes... list box, you can only display new violations that have been added for a timespan. See Differential Views for more information.
Only the source code around the violations is displayed. If necessary for investigation purpose, you can display the full source code by ticking the Full source box.
You can directly manage the violations and their related reviews: comment, assign, link o an action plan, etc. See Violations and Reviews for more information.
The Duplications tab shows every duplicated chunk of code within a class and the name of the other class it is duplicated with.
See Duplications for more information.
The Dependencies tab shows all incoming and outgoing dependencies on the file:
The LCOM4 tab shows blocks of resources within a class that have tight relationship. Having more that one block here probably means that the class is assuming more than one responsibility.
When drilling down into unit tests execution measures, you will eventually reach the unit test level:
The Source tab displays the source code of the unit test file:
The Tests tab displays the result of the unit tests belonging to the unit test class.
In case of a failure or an error, the reason is displayed:
Since Sonar 3.5, it is also possible to the mapping of unit tests and covered code. The objective is to answer the following questions:
The Violations tab displays the violations on the unit tests: