com.atlassian.webdriver.testing.runner
Class ProductContextRunner

java.lang.Object
  extended by org.junit.runner.Runner
      extended by org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
          extended by org.junit.runners.BlockJUnit4ClassRunner
              extended by com.atlassian.webdriver.testing.runner.AbstractInjectingRunner
                  extended by com.atlassian.webdriver.testing.runner.AbstractProductContextRunner
                      extended by com.atlassian.webdriver.testing.runner.ProductContextRunner
All Implemented Interfaces:
org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable
Direct Known Subclasses:
SimpleServerRunner

public class ProductContextRunner
extends AbstractProductContextRunner

'Default' product context runner that reads the tested product class from the TestedProductClass annotation that the test class MUST be annotated with, and uses TestedProductFactory to instantiate the product and inject context into the test instance.

Since:
2.1

Constructor Summary
ProductContextRunner(Class<?> klass)
          Constructor compatible with the underlying default JUnit4 runner.
 
Method Summary
protected  TestedProduct<?> createProduct(Class<? extends TestedProduct<?>> testedProductClass)
          Override to implement custom factory method for tested product.
protected  TestedProduct<?> getProduct()
          The product must support injection, such that InjectingTestedProducts.supportsInjection(com.atlassian.pageobjects.TestedProduct) returns true.
 
Methods inherited from class com.atlassian.webdriver.testing.runner.AbstractProductContextRunner
getInjectionContext
 
Methods inherited from class com.atlassian.webdriver.testing.runner.AbstractInjectingRunner
classBlock, methodInvoker
 
Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, computeTestMethods, createTest, describeChild, getChildren, getTestRules, methodBlock, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout
 
Methods inherited from class org.junit.runners.ParentRunner
childrenInvoker, classRules, filter, getDescription, getName, getRunnerAnnotations, getTestClass, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses
 
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

ProductContextRunner

public ProductContextRunner(Class<?> klass)
                     throws org.junit.runners.model.InitializationError
Constructor compatible with the underlying default JUnit4 runner.

Throws:
org.junit.runners.model.InitializationError - if the test class is malformed.
Method Detail

createProduct

protected TestedProduct<?> createProduct(Class<? extends TestedProduct<?>> testedProductClass)
Override to implement custom factory method for tested product.

Parameters:
testedProductClass - tested product class
Returns:
tested product instance

getProduct

protected final TestedProduct<?> getProduct()
Description copied from class: AbstractProductContextRunner
The product must support injection, such that InjectingTestedProducts.supportsInjection(com.atlassian.pageobjects.TestedProduct) returns true. Otherwise this runner will fail at runtime when trying to perform injection.

Specified by:
getProduct in class AbstractProductContextRunner
Returns:
product instance


Copyright © 2014 Atlassian. All rights reserved.