-
Notifications
You must be signed in to change notification settings - Fork 0
Testing Overview
Tests are created for every concrete analyzer class. These tests all follow a similar pattern and utilize the features of JUnit 5. Tests utilize the @BeforeEach annotation to initialize necessary items before each test method. This initialization runs automatically before every method and includes code that initializes the analyzer, parser, and any other relevant objects to the analyzer test. Parameterized tests are utilized in several test classes to reduce code duplication and run many tests with different parameters. This ensures that the developer does not have to write similar test methods many times. By utilizing these features, developers can easily add more tests where necessary.
-
For unit testing, we have tests for the analyzers that cover all possible outputs that the system is able to produce. This is captured in 160 tests that we have implemented in the system. Our unit testing can also be scoped through checking the return after a specific parsed input. Additionally, we can test the analyzer logic itself.
-
Integration testing is not directly implemented in our system, but can be done thought analyzer unit testing.
-
Acceptance testing can be achieved by invoking the command line and manually checking the results.
-
Performance testing is not directly tested as the linter is not designed to check the load, stress, or efficiency of the code.