3. Completion Test
Define Test Data
Create the DefaultTestData.simple file in the testData directory. This file contains test Simple language properties that will be completed in a test Java file (see the Test
class later in this section).
Create a test input Java file CompleteTestData.java in the testData directory. This file contains a Simple Language reference within the Java code at <caret>
special marker, which denotes the caret position to use in the test.
Define a Test
Subclass LightJavaCodeInsightFixtureTestCase
to create SimpleCodeInsightTest
. Override getTestDataPath()
, and return the path from the root of this plugin module to the testData directory.
At this point, only one test is defined in SimpleCodeInsightTest
: testCompletion()
. This method:
Configures the test using the two input files.
Calls the basic completion functionality. Behind the scenes, this method call creates a list of possible elements to complete the embedded Simple Language reference.
Checks the list of returned lookup strings to ensure it matches the completion variants provided by the reference.
A number of related methods exist in CodeInsightTestFixture
for testing completion and lookup elements, e.g., when testing completion variants and requiring only one testdata file CodeInsightTestFixture.testCompletionVariants()
.
Run the Test
Run the test and make sure it's successful.
Running tests
Open the Gradle Tool Window.
Select the simple_language_plugin node. You may need to reimport it as a Gradle project.
Drill down under simple_language_plugin to Tasks, verification, test task.
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:
In the Gradle Tool Window, drill down under simple_language_plugin to Tasks, build, clean task.
Run the clean task, which deletes the simple_language_plugin/build directory.
Restart the test.