Package org.apache.tapestry5.ioc.junit

## Class TapestryIOCJUnit4ClassRunner

- java.lang.Object
- - org.junit.runner.Runner
  - - org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
    - - org.junit.runners.BlockJUnit4ClassRunner
      - - org.apache.tapestry5.ioc.junit.TapestryIOCJUnit4ClassRunner

- All Implemented Interfaces:
    `org.junit.runner.Describable`, `org.junit.runner.manipulation.Filterable`, `org.junit.runner.manipulation.Orderable`, `org.junit.runner.manipulation.Sortable`

      public class TapestryIOCJUnit4ClassRunner
      extends org.junit.runners.BlockJUnit4ClassRunner

  A JUnit4ClassRunner to help with Tapestry IOC integration tests. The test runner requires a registry configuration to be defined in a `Registry` annotation. A `RegistryShutdownType` can be specified to configure the lifecycle of the test registry and it's services `ModuleDef`s can be added to the `Registry` by annotating a factory method(s) with `ModuleDef`. These `ModuleDef` factory methods must be
  - public
  - static
  - take zero arguments
  - return a subclass of `ModuleDef`
  Any services defined in the registry can be `Inject`ed into the test class to be used during testing.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `TapestryIOCJUnit4ClassRunner.RegistryManagerRunNotifier` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TapestryIOCJUnit4ClassRunner​(java.lang.Class<?> type)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.lang.Object` | `createTest()` |
    `void` | `run​(org.junit.runner.notification.RunNotifier notifier)` |
    `protected org.junit.runners.model.Statement` | `withAfterClasses​(org.junit.runners.model.Statement statement)` |

    - ### Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner

      `collectInitializationErrors, computeTestMethods, createTest, describeChild, getChildren, getTestRules, isIgnored, methodBlock, methodInvoker, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout`

    - ### Methods inherited from class org.junit.runners.ParentRunner

      `childrenInvoker, classBlock, classRules, createTestClass, filter, getDescription, getName, getRunnerAnnotations, getTestClass, order, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withBeforeClasses, withInterruptIsolation`

    - ### Methods inherited from class org.junit.runner.Runner

      `testCount`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TapestryIOCJUnit4ClassRunner

          public TapestryIOCJUnit4ClassRunner​(java.lang.Class<?> type)
                                       throws org.junit.runners.model.InitializationError

      Throws:
        `org.junit.runners.model.InitializationError`

  - ### Method Detail

    - #### run

          public void run​(org.junit.runner.notification.RunNotifier notifier)

      Overrides:
        `run` in class `org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>`

    - #### withAfterClasses

          protected org.junit.runners.model.Statement withAfterClasses​(org.junit.runners.model.Statement statement)

      Overrides:
        `withAfterClasses` in class `org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>`

    - #### createTest

          protected java.lang.Object createTest()
                                         throws java.lang.Exception

      Overrides:
        `createTest` in class `org.junit.runners.BlockJUnit4ClassRunner`
      Throws:
        `java.lang.Exception`