public void testProcessSpecification() throws Throwable { Fixture fixture = new FixtureInstance(this); fixture.beforeSpecification(); fixture.setupForRun(this); new FixtureRunner(fixture, new ClassNameBasedSpecificationLocator()).run(fixture); fixture.afterSpecification(); } }
public ConcordionBuilder withResources(Fixture fixture) { withResources(fixture.getFixtureType()); return this; }
@Override public void afterExample(ExampleEvent event) { event.getFixture().afterExample(event.getExampleName()); } }
@Override protected Object createTest() throws Exception { Object fixtureObject; if (firstTest) { firstTest = false; // we've already created a test object above, so reuse it to make sure we don't initialise the fixture object multiple times fixtureObject = setupFixture.getFixtureObject(); } else { // junit creates a new object for each test case, so we need to capture this // and setup our object - that makes sure that scoped variables are injected properly fixtureObject = super.createTest(); } // we need to setup the concordion scoped objects so that the @Before methods and @Rules can access them setupFixture.setupForRun(fixtureObject); return fixtureObject; }
runResultsCache.startFixtureRun(setupFixture.getFixtureType(), concordion.getSpecificationDescription()); setupFixture.beforeSpecification(); setupFixture.afterSpecification(); concordion.finish(); results.getActualResultSummary().print(System.out, setupFixture.getFixtureType()); } finally { if (suiteDepth.decrementAndGet() == 0) { setupFixture.afterSuite();
public ResultSummary run(String example, Fixture fixture) throws IOException { FixtureType fixtureType = fixture.getFixtureType(); ImplementationStatusChecker statusChecker; if (example != null) { fixture.beforeProcessExample(example); try { actualResultSummary = concordion.processExample(fixture, example); fixtureType, actualResultSummary.getImplementationStatus()); } finally { fixture.afterProcessExample(example);
@Before public void before() { Fixture fixture = new FixtureInstance(this); if (firstRun) { firstRun = false; fixture.beforeSpecification(); } fixture.setupForRun(this); }
public ConcordionRunner(Class<?> fixtureClass) throws InitializationError { super(fixtureClass); this.fixtureClass = fixtureClass; try { setupFixture = createFixture(super.createTest()); // needs to be called so extensions have access to scoped variables } catch (Exception e) { throw new InitializationError(e); } if (suiteDepth.getAndIncrement() == 0) { setupFixture.beforeSuite(); } try { fixtureRunner = new FixtureRunner(setupFixture, getSpecificationLocator()); } catch (UnableToBuildConcordionException e) { throw new InitializationError(e); } concordion = fixtureRunner.getConcordion(); try { concordion.checkValidStatus(setupFixture.getFixtureType()); List<String> examples = concordion.getExampleNames(setupFixture.getFixtureType()); verifyUniqueExampleMethods(examples); concordionFrameworkMethods = new ArrayList<ConcordionFrameworkMethod>(examples.size()); for (String example: examples) { concordionFrameworkMethods.add(new ConcordionFrameworkMethod(concordionRunnerInterface, example)); } } catch (IOException e) { throw new InitializationError(e); } }
@Override public void beforeOuterExample(OuterExampleEvent event) { event.getFixture().beforeExample(event.getExampleName()); }
runResultsCache.startFixtureRun(setupFixture.getFixtureType(), concordion.getSpecificationDescription()); setupFixture.beforeSpecification(); setupFixture.afterSpecification(); concordion.finish(); results.getActualResultSummary().print(System.out, setupFixture.getFixtureType()); } finally { if (suiteDepth.decrementAndGet() == 0) { setupFixture.afterSuite();
public ResultSummary run(String example, Fixture fixture) throws IOException { FixtureType fixtureType = fixture.getFixtureType(); ImplementationStatusChecker statusChecker; if (example != null) { fixture.beforeProcessExample(example); try { actualResultSummary = concordion.processExample(fixture, example); fixtureType, actualResultSummary.getImplementationStatus()); } finally { fixture.afterProcessExample(example);
@Override protected Object createTest() throws Exception { Object fixtureObject; if (firstTest) { firstTest = false; // we've already created a test object above, so reuse it to make sure we don't initialise the fixture object multiple times fixtureObject = setupFixture.getFixtureObject(); } else { // junit creates a new object for each test case, so we need to capture this // and setup our object - that makes sure that scoped variables are injected properly fixtureObject = super.createTest(); } // we need to setup the concordion scoped objects so that the @Before methods and @Rules can access them setupFixture.setupForRun(fixtureObject); return fixtureObject; }
public ConcordionRunner(Class<?> fixtureClass) throws InitializationError { super(fixtureClass); this.fixtureClass = fixtureClass; try { setupFixture = createFixture(super.createTest()); // needs to be called so extensions have access to scoped variables } catch (Exception e) { throw new InitializationError(e); } if (suiteDepth.getAndIncrement() == 0) { setupFixture.beforeSuite(); } try { fixtureRunner = new FixtureRunner(setupFixture, getSpecificationLocator()); } catch (UnableToBuildConcordionException e) { throw new InitializationError(e); } concordion = fixtureRunner.getConcordion(); try { concordion.checkValidStatus(setupFixture.getFixtureType()); List<String> examples = concordion.getExampleNames(setupFixture.getFixtureType()); verifyUniqueExampleMethods(examples); concordionFrameworkMethods = new ArrayList<ConcordionFrameworkMethod>(examples.size()); for (String example: examples) { concordionFrameworkMethods.add(new ConcordionFrameworkMethod(concordionRunnerInterface, example)); } } catch (IOException e) { throw new InitializationError(e); } }
@Override public void beforeOuterExample(OuterExampleEvent event) { event.getFixture().beforeExample(event.getExampleName()); }
public ConcordionBuilder withResources(Fixture fixture) { withResources(fixture.getFixtureType()); return this; }
public void testProcessSpecification() throws Throwable { Fixture fixture = new FixtureInstance(this); fixture.beforeSpecification(); fixture.setupForRun(this); new FixtureRunner(fixture, new ClassNameBasedSpecificationLocator()).run(fixture); fixture.afterSpecification(); } }
@Override public void afterExample(ExampleEvent event) { event.getFixture().afterExample(event.getExampleName()); } }
@Override public void beforeExample(ExampleEvent event) { event.getFixture().beforeExample(event.getExampleName()); }
private void createScopedFields(Fixture fixture) { for (Class<?> clazz : fixture.getFixtureType().getClassHierarchyParentFirst()) { Field[] fields = clazz.getDeclaredFields(); if (fields != null) { for (Field field : fields) { if (field.getAnnotation(ConcordionScoped.class) != null) { createScopedObjectField(fixture.getFixtureType(), field); } if (field.getAnnotation(Extension.class) != null) { createScopedExtensionField(fixture.getFixtureType(), field); } } } } }
@Override public void afterOuterExample(OuterExampleEvent event) { event.getFixture().afterExample(event.getExampleName()); }