picimako / citric

Citrus framework integration for the IntelliJ platform.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Look into `@CitrusSpringXmlTestFactory` and `CitrusTestFactorySupport`

picimako opened this issue · comments

Summary

CitrusTestFactorySupport is a fairly new solution, while @CitrusSpringXmlTestFactory has been around. Look into how they are processed and should be used, and implement integrations for them.

Tasks

  • CitrusTestFactorySupport
    • Line marker for CitrusTestFactorySupport.[springXml()|xml()|groovy()].[dynamicTest()|packageScan()|etc.] calls to navigate to the referenced resources.
      • This would work the same as the line marker for @CitrusTestSource test methods.
    • Inspection and quick fixes to replace .factory(...) calls to .xml(), .springXml() or .groovy() calls.
    • Inspection to report invalid test types in .factory(...).
    • Inspection to report file extensions in test names inside CitrusTestFactorySupport.dynamicTest[s]().
      • This is not required for groovy tests.
    • Inspection to report dynamicTests() with no test name provided.
    • Inspection to report packageScan() with no package name provided.
  • @CitrusSpringXmlTestFactory
    • Inspection: if a non-CitrusTestFactorySupport.springXml() method is called in a test method annotated with @CitrusSpringXmlTestFactory, then the annotation must be reported because it may mislead users about the contents of the test method.
    • Update the @CitrusTestFactory annotation related inspection to support @CitrusSpringXmlTestFactory as well.
    • Create a Generate @CitrusSpringXmlTestFactory Method action based on the @CitrusTestFactory Method action.
      • This action should be available only when the citrus-junit5 package is available.

Completed in v1.0.12.