Class ConsoleExtension

  • All Implemented Interfaces:
    org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.ParameterResolver, org.junit.jupiter.api.extension.TestWatcher

    public class ConsoleExtension
    extends net.morimekta.testing.console.ConsoleManager
    implements org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.TestWatcher, org.junit.jupiter.api.extension.ParameterResolver
    Extension for adding a fully virtual TTY and I/O for testing. This will forcefully replace standard in, out and err while the test is running, falling back to default (system streams) when completed. This means any test that uses normal system I/O to print ongoing status will not work with this extension.
    
     {@literal@}ExtendWith(ConsoleExtension.class)
     public class MyTest {
         {@literal@}Test
         public void testMyThing(Console console) {
             // use the console I/O or TTY or both.
         }
     }
     
    • Constructor Summary

      Constructors 
      Constructor Description
      ConsoleExtension()
      Instantiate the extension.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterEach​(org.junit.jupiter.api.extension.ExtensionContext context)  
      void beforeEach​(org.junit.jupiter.api.extension.ExtensionContext context)  
      Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      boolean supportsParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)  
      void testFailed​(org.junit.jupiter.api.extension.ExtensionContext context, Throwable cause)  
      • Methods inherited from class net.morimekta.testing.console.ConsoleManager

        doAfterEach, doBeforeEach, getConsole, getTTY, onTestFailed, setDumpErrorOnFailure, setDumpOutputOnFailure, setForkError, setForkOutput, setInteractive, setTerminalSize
      • Methods inherited from interface org.junit.jupiter.api.extension.TestWatcher

        testAborted, testDisabled, testSuccessful
    • Constructor Detail

      • ConsoleExtension

        public ConsoleExtension()
        Instantiate the extension.
    • Method Detail

      • beforeEach

        public void beforeEach​(org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallback
      • testFailed

        public void testFailed​(org.junit.jupiter.api.extension.ExtensionContext context,
                               Throwable cause)
        Specified by:
        testFailed in interface org.junit.jupiter.api.extension.TestWatcher
      • afterEach

        public void afterEach​(org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        afterEach in interface org.junit.jupiter.api.extension.AfterEachCallback
      • supportsParameter

        public boolean supportsParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                         org.junit.jupiter.api.extension.ExtensionContext extensionContext)
                                  throws org.junit.jupiter.api.extension.ParameterResolutionException
        Specified by:
        supportsParameter in interface org.junit.jupiter.api.extension.ParameterResolver
        Throws:
        org.junit.jupiter.api.extension.ParameterResolutionException
      • resolveParameter

        public Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                       org.junit.jupiter.api.extension.ExtensionContext extensionContext)
                                throws org.junit.jupiter.api.extension.ParameterResolutionException
        Specified by:
        resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolver
        Throws:
        org.junit.jupiter.api.extension.ParameterResolutionException