IntelliJ Platform Plugin SDK Help

11. Documentation Test

Define a Test Method

Add the testDocumentation() method to the SimpleCodeInsightTest class previously defined. This test uses the files and DocumentationTestData.simple from the testData directory to construct a test project and opens the first one in the editor with the virtual caret positioned at the usage of the Simple Language property.

Using the DocumentationManager, it checks if a target element for documentation is found, retrieves the documentation provider for the Simple Language and creates the documentation string for the target element. Finally, the documentation string is verified against the expected output.

public void testDocumentation() { myFixture.configureByFiles("", "DocumentationTestData.simple"); final PsiElement originalElement = myFixture.getElementAtCaret(); PsiElement element = DocumentationManager .getInstance(getProject()) .findTargetElement(myFixture.getEditor(), originalElement.getContainingFile(), originalElement); if (element == null) { element = originalElement; } final DocumentationProvider documentationProvider = DocumentationManager.getProviderFromElement(element); final String generateDoc = documentationProvider.generateDoc(element, originalElement); assertNotNull(generateDoc); assertSameLinesWithFile(getTestDataPath() + "/" + "DocumentationTest.html.expected", generateDoc); }

Run the Test

Run the test and make sure it's successful.

Running tests

  1. Open the Gradle Tool Window.

  2. Select the simple_language_plugin node. You may need to reimport it as a Gradle project.

  3. Drill down under simple_language_plugin to Tasks, verification, test task.

  4. Run the test task.

The results are displayed in the Run Tool Window, and also written to the simple_language_plugin/build/test-results/test directory.

If the Run Tool Window displays the error Test events were not received, do the following:

  1. In the Gradle Tool Window, drill down under simple_language_plugin to Tasks, build, clean task.

  2. Run the clean task, which deletes the simple_language_plugin/build directory.

  3. Restart the test.

    Last modified: 13 July 2024