java.lang.Object
io.micronaut.starter.feature.picocli.test.junit.PicocliJunit
All Implemented Interfaces:
io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered, Feature, TestFeature, PicocliTestFeature

@Requires(property="micronaut.starter.feature.picocli.junit.enabled", value="true", defaultValue="true") @Singleton public class PicocliJunit extends Object implements PicocliTestFeature
Adds a Picocli JUnit test for CLI applications.

Generates language-specific test templates using JUnit for Picocli commands.

  • Constructor Details

    • PicocliJunit

      public PicocliJunit()
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Feature
      The name of the feature. It must be unique.
      Specified by:
      getName in interface Feature
      Specified by:
      getName in interface io.micronaut.core.naming.Named
      Returns:
      the name of the feature
    • apply

      public void apply(GeneratorContext generatorContext)
      Description copied from interface: Feature
      If this method is called for a given feature that means the feature was explicitly selected, included by default as a result of DefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature through FeatureContext.addFeature(Feature). At this point the feature list is set and cannot change.
      Specified by:
      apply in interface Feature
      Parameters:
      generatorContext - THe generator context
    • getTestFramework

      public TestFramework getTestFramework()
      Specified by:
      getTestFramework in interface TestFeature
    • getJunitRockerModelProvider

      public JunitRockerModelProvider getJunitRockerModelProvider(Project project)
      Returns a JunitRockerModelProvider that provides JUnit test templates for different languages specific to Picocli applications.
      Parameters:
      project - The project metadata.
      Returns:
      The JUnit Rocker model provider.
    • getModel

      public com.fizzed.rocker.RockerModel getModel(Language language, Project project)
      Returns the RockerModel for the given language.
      Parameters:
      language - The source language (Java, Kotlin, Groovy).
      project - The project metadata.
      Returns:
      The appropriate Rocker model for generating the test.
    • getTemplate

      public RockerTemplate getTemplate(Language language, Project project)
      Returns a RockerTemplate used to render the test source file based on the language and project context.
      Parameters:
      language - The source language (Java, Kotlin, Groovy).
      project - The project metadata.
      Returns:
      The Rocker template for the test file.