AnnotatedEmbedderRunner.java

  1. package org.jbehave.core.junit;

  2. import org.jbehave.core.configuration.AnnotationBuilder;
  3. import org.junit.runner.Runner;
  4. import org.junit.runners.BlockJUnit4ClassRunner;
  5. import org.junit.runners.model.InitializationError;

  6. /**
  7.  * A JUnit {@link Runner} that uses the {@link AnnotationBuilder} to
  8.  * create an embeddable test instance.  
  9.  */
  10. public class AnnotatedEmbedderRunner extends BlockJUnit4ClassRunner {

  11.     public AnnotatedEmbedderRunner(Class<?> testClass) throws InitializationError {
  12.         super(testClass);
  13.     }

  14.     @Override
  15.     public Object createTest() {
  16.         return annotationBuilder().embeddableInstance();
  17.     }

  18.     public AnnotationBuilder annotationBuilder() {
  19.         return new AnnotationBuilder(testClass());
  20.     }

  21.     protected Class<?> testClass() {
  22.         return getTestClass().getJavaClass();
  23.     }

  24. }