LASoT plugin incorporates in Visual Studio Code informations generated by Descartes engine and Reneri to help students to refine the assertions of their tests. Read more about extreme mutation testing.
LASoT extension for VS Code provides :
Explorer
The extension provides a treeView to execute Maven Descartes, Reneri and LASoT commands.
- Descartes:mutationCoverage goal execute generates extreme transformations to the code and provides reports. Those reports are accessibles in the target/pit-reports folder.
- Reneri:observeMethods goal observes the execution of the original method and each transformed variant of the method.
- Reneri:observeTests goal observes the execution of each test case for the original methods and the transformed variants.
- Reneri:hints goal Generates improvement hints according to the results obtained with the execution of the two previous goals.
- LASoT:highlightsHints goal decorates code based on the reporting of the previous goals.
To be able to display the decorations, at least the Descartes goal must be executed. Descartes will indicate which methods is uncovered, partially or pseudo tested and which test must be improved. Reneri gives more precise informations about the values of the original code and the transformation. To take advantages of Reneri reports each 3 goals must be executed in the presented order.
Wizard
A Wizard to guide users to follow the steps correctly. To launch the wizard enter "LASoT Wizard" in the command palette (Ctrl+Shift+P).
Status bar
Quick indication of survived mutations in the status bar.
You can click on it to show more informations about the mutation score and the undetected mutations. The mutation score is calculated as the ratio of live mutants to overall mutants.
Decorations
The extension decorates the signature of the methods in your classes and in the code of your tests suites. It incorporates informations showed in an overlay when you hover the decoration.
Tips : Code highlighted is indicated with blue points in the minimap.
The overlay of signaled methods indicates the classification of this method (uncovered, partially-tested or pseudo-tested). It also gives more informations about the undetected mutations and killed mutations.
The overlay of signaled tests indicates the value and type of the decorated part for the original version of the program and the undetected mutation.
The Java project on which this extension is applicated must includes Descartes and Reneri extensions. Reneri extension needs an installation of Maven and set in the PATH variable to properly operates.