
public.javadoc.org.spincast.testing.junitrunner.SpincastJUnitRunner.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
SpincastJUnitRunner (org.spincast:spincast-framework 1.14.0 API)
org.spincast.testing.junitrunner
Class SpincastJUnitRunner
- java.lang.Object
-
- org.junit.runner.Runner
-
- org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-
- org.junit.runners.BlockJUnit4ClassRunner
-
- org.spincast.testing.junitrunner.SpincastJUnitRunner
-
- All Implemented Interfaces:
- org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable
public class SpincastJUnitRunner
extends org.junit.runners.BlockJUnit4ClassRunner
Spincast JUnit Runner.
Only creates one instance of the test class for all
its tests.
If the class implements BeforeAfterClassMethodsProvider
, then
a beforeClass()
and afterClass()
methods will be
called.
You can use the ExpectingBeforeClassException
annotation on the test
class to indicate that an exception is expected from the beforeClass()
method.
If you try to debug a test that only fails sometimes (those are the
worst!), you can use the @RepeatUntilFail
annotation on the test or on
its test class. This allows you to run the test or the whole test class multiple times.
You can also use @RepeatUntilSuccess
instead to repeat
the test class (or a single test) multiple time until it succeeds (or the maximum
number of tries is reached).
-
-
Field Summary
Fields
Modifier and Type
Field and Description
protected static org.slf4j.Logger
logger
static String
SPINCAST_TEST_NAME_AFTER_CLASS_ANNOTATIONS_VALIDATION
static String
SPINCAST_TEST_NAME_AFTER_CLASS_LOOPS_EXCEPTION
static String
SPINCAST_TEST_NAME_AFTER_CLASS_METHOD_VALIDATION
static String
SPINCAST_TEST_NAME_BEFORE_CLASS_ANNOTATIONS_VALIDATION
static String
SPINCAST_TEST_NAME_BEFORE_CLASS_METHOD_VALIDATION
static String
SPINCAST_TEST_NAME_EXPECTING_FAILURE_BUT_ONLY_SUCCESSES
static String
SPINCAST_TEST_NAME_NO_TESTS_AND_NO_EXPECTION_EXCEPTION_ANNOTATION
static String
SPINCAST_TEST_NAME_REPEAT_ANNOTATIONS_VALIDATION
-
Constructor Summary
Constructors
Constructor and Description
SpincastJUnitRunner(Class<?> clazz)
-
Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type
Method and Description
protected org.junit.runners.model.Statement
addCustomErrorHandling(org.junit.runners.model.Statement baseStatement,
org.junit.runners.model.FrameworkMethod method)
protected void
addTestFailureListener(org.junit.runner.notification.RunNotifier notifier)
protected List<org.junit.runners.model.FrameworkMethod>
computeTestMethods()
Object
createTest()
JUnit calls that method to create an instance of the
test class for each individual test.
protected org.junit.runners.model.Statement
customizeStatement(org.junit.runners.model.Statement statement,
org.junit.runners.model.FrameworkMethod method)
protected Integer
geRepeatUntilFailureAnnotationLoopsNbr(RepeatUntilFailure repeatUntilFailureAnnotation)
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
geRepeatUntilSuccessAnnotationLoopsNbr(RepeatUntilSuccess repeatUntilSuccessAnnotation)
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected int
getCurrentClassLoopPosition()
protected Integer
getMethodRepeatUntilFailureAnnotationLoopsNbr(Method method)
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
getMethodRepeatUntilFailureAnnotationLoopsSleep(Method method)
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
getMethodRepeatUntilSuccessAnnotationLoopsNbr(Method method)
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected Integer
getMethodRepeatUntilSuccessAnnotationLoopsSleep(Method method)
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected String
getName()
Test class display name.
protected Integer
getRepeatUntilFailureAnnotationLoopsSleep(RepeatUntilFailure repeatAnnotation)
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
getRepeatUntilSuccessAnnotationLoopsSleep(RepeatUntilSuccess repeatUntilSuccessAnnotation)
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected org.junit.runner.notification.RunNotifier
getRunNotifier()
protected String
getStackTrace(Throwable ex)
protected Object
getTestClassInstance()
protected Integer
getTestClassRepeatUntilFailureAnnotationLoopsNbr()
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
getTestClassRepeatUntilFailureAnnotationLoopsSleep()
Will be null
if there if no
RepeatUntilFailure
annotation.
protected Integer
getTestClassRepeatUntilSuccessAnnotationLoopsNbr()
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected Integer
getTestClassRepeatUntilSuccessAnnotationLoopsSleep()
Will be null
if there if no
RepeatUntilSuccess
annotation.
protected boolean
isExceptionInBeforeClass()
boolean
isExpectingBeforeClassException()
boolean
isExpectingFailure()
protected boolean
isIgnoreRemainingTests()
protected boolean
isLastInstanceOfThisTestToRun()
protected void
logTestFailure(org.junit.runner.notification.Failure failure)
protected org.junit.runners.model.Statement
methodBlock(org.junit.runners.model.FrameworkMethod method)
void
run(org.junit.runner.notification.RunNotifier notifier)
Runs the test class.
protected void
runChild(org.junit.runners.model.FrameworkMethod method,
org.junit.runner.notification.RunNotifier notifier)
Runs a specific test
protected void
runPreClassLoopsSpincastTests()
protected void
setExceptionInBeforeClass()
protected void
setIgnoreRemainingTests()
protected void
spincastTestError(String testName,
String errorMessage)
protected void
spincastTestError(String testName,
Throwable exception)
protected void
testFailureCustomHandling(org.junit.runner.notification.Failure failure)
protected void
validateNoAfterClassAnnotations()
protected void
validateNoBeforeClassAnnotations()
protected void
validateNoTestsAndNoExpectingBeforeClassExceptionAnnotation()
protected void
validateTestClassRepeateAnnotations()
-
Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, describeChild, getChildren, getTestRules, isIgnored, methodInvoker, possiblyExpectingExceptions, rules, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout
-
-
Field Detail
-
logger
protected static final org.slf4j.Logger logger
-
SPINCAST_TEST_NAME_BEFORE_CLASS_ANNOTATIONS_VALIDATION
public static final String SPINCAST_TEST_NAME_BEFORE_CLASS_ANNOTATIONS_VALIDATION
-
SPINCAST_TEST_NAME_AFTER_CLASS_ANNOTATIONS_VALIDATION
public static final String SPINCAST_TEST_NAME_AFTER_CLASS_ANNOTATIONS_VALIDATION
-
SPINCAST_TEST_NAME_BEFORE_CLASS_METHOD_VALIDATION
public static final String SPINCAST_TEST_NAME_BEFORE_CLASS_METHOD_VALIDATION
- See Also:
- Constant Field Values
-
SPINCAST_TEST_NAME_AFTER_CLASS_METHOD_VALIDATION
public static final String SPINCAST_TEST_NAME_AFTER_CLASS_METHOD_VALIDATION
- See Also:
- Constant Field Values
-
SPINCAST_TEST_NAME_NO_TESTS_AND_NO_EXPECTION_EXCEPTION_ANNOTATION
public static final String SPINCAST_TEST_NAME_NO_TESTS_AND_NO_EXPECTION_EXCEPTION_ANNOTATION
-
SPINCAST_TEST_NAME_AFTER_CLASS_LOOPS_EXCEPTION
public static final String SPINCAST_TEST_NAME_AFTER_CLASS_LOOPS_EXCEPTION
- See Also:
- Constant Field Values
-
SPINCAST_TEST_NAME_REPEAT_ANNOTATIONS_VALIDATION
public static final String SPINCAST_TEST_NAME_REPEAT_ANNOTATIONS_VALIDATION
-
SPINCAST_TEST_NAME_EXPECTING_FAILURE_BUT_ONLY_SUCCESSES
public static final String SPINCAST_TEST_NAME_EXPECTING_FAILURE_BUT_ONLY_SUCCESSES
-
Constructor Detail
-
SpincastJUnitRunner
public SpincastJUnitRunner(Class<?> clazz)
throws org.junit.runners.model.InitializationError
- Throws:
org.junit.runners.model.InitializationError
-
Method Detail
-
getRunNotifier
protected org.junit.runner.notification.RunNotifier getRunNotifier()
-
setIgnoreRemainingTests
protected void setIgnoreRemainingTests()
-
isIgnoreRemainingTests
protected boolean isIgnoreRemainingTests()
-
setExceptionInBeforeClass
protected void setExceptionInBeforeClass()
-
isExceptionInBeforeClass
protected boolean isExceptionInBeforeClass()
-
getCurrentClassLoopPosition
protected int getCurrentClassLoopPosition()
-
createTest
public Object createTest()
throws Exception
JUnit calls that method to create an instance of the
test class for each individual test. We change this
behavior and always return the *same* instance of the
test class: 'testClassInstance'.
- Overrides:
createTest
in class org.junit.runners.BlockJUnit4ClassRunner
- Throws:
Exception
-
getTestClassInstance
protected Object getTestClassInstance()
-
getName
protected String getName()
Test class display name.
- Overrides:
getName
in class org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-
computeTestMethods
protected final List<org.junit.runners.model.FrameworkMethod> computeTestMethods()
- Overrides:
computeTestMethods
in class org.junit.runners.BlockJUnit4ClassRunner
-
run
public void run(org.junit.runner.notification.RunNotifier notifier)
Runs the test class.
- Overrides:
run
in class org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-
runChild
protected void runChild(org.junit.runners.model.FrameworkMethod method,
org.junit.runner.notification.RunNotifier notifier)
Runs a specific test
- Overrides:
runChild
in class org.junit.runners.BlockJUnit4ClassRunner
-
methodBlock
protected org.junit.runners.model.Statement methodBlock(org.junit.runners.model.FrameworkMethod method)
- Overrides:
methodBlock
in class org.junit.runners.BlockJUnit4ClassRunner
-
customizeStatement
protected org.junit.runners.model.Statement customizeStatement(org.junit.runners.model.Statement statement,
org.junit.runners.model.FrameworkMethod method)
-
addCustomErrorHandling
protected org.junit.runners.model.Statement addCustomErrorHandling(org.junit.runners.model.Statement baseStatement,
org.junit.runners.model.FrameworkMethod method)
-
addTestFailureListener
protected void addTestFailureListener(org.junit.runner.notification.RunNotifier notifier)
-
testFailureCustomHandling
protected void testFailureCustomHandling(org.junit.runner.notification.Failure failure)
-
logTestFailure
protected void logTestFailure(org.junit.runner.notification.Failure failure)
-
isLastInstanceOfThisTestToRun
protected boolean isLastInstanceOfThisTestToRun()
-
runPreClassLoopsSpincastTests
protected void runPreClassLoopsSpincastTests()
-
validateNoBeforeClassAnnotations
protected void validateNoBeforeClassAnnotations()
-
validateNoAfterClassAnnotations
protected void validateNoAfterClassAnnotations()
-
validateNoTestsAndNoExpectingBeforeClassExceptionAnnotation
protected void validateNoTestsAndNoExpectingBeforeClassExceptionAnnotation()
-
validateTestClassRepeateAnnotations
protected void validateTestClassRepeateAnnotations()
-
isExpectingBeforeClassException
public boolean isExpectingBeforeClassException()
-
isExpectingFailure
public boolean isExpectingFailure()
-
getTestClassRepeatUntilFailureAnnotationLoopsNbr
protected Integer getTestClassRepeatUntilFailureAnnotationLoopsNbr()
Will be null
if there if no
RepeatUntilFailure
annotation.
-
getMethodRepeatUntilFailureAnnotationLoopsNbr
protected Integer getMethodRepeatUntilFailureAnnotationLoopsNbr(Method method)
Will be null
if there if no
RepeatUntilFailure
annotation.
-
geRepeatUntilFailureAnnotationLoopsNbr
protected Integer geRepeatUntilFailureAnnotationLoopsNbr(RepeatUntilFailure repeatUntilFailureAnnotation)
Will be null
if there if no
RepeatUntilFailure
annotation.
-
getTestClassRepeatUntilFailureAnnotationLoopsSleep
protected Integer getTestClassRepeatUntilFailureAnnotationLoopsSleep()
Will be null
if there if no
RepeatUntilFailure
annotation.
-
getMethodRepeatUntilFailureAnnotationLoopsSleep
protected Integer getMethodRepeatUntilFailureAnnotationLoopsSleep(Method method)
Will be null
if there if no
RepeatUntilFailure
annotation.
-
getRepeatUntilFailureAnnotationLoopsSleep
protected Integer getRepeatUntilFailureAnnotationLoopsSleep(RepeatUntilFailure repeatAnnotation)
Will be null
if there if no
RepeatUntilFailure
annotation.
-
getTestClassRepeatUntilSuccessAnnotationLoopsNbr
protected Integer getTestClassRepeatUntilSuccessAnnotationLoopsNbr()
Will be null
if there if no
RepeatUntilSuccess
annotation.
-
getMethodRepeatUntilSuccessAnnotationLoopsNbr
protected Integer getMethodRepeatUntilSuccessAnnotationLoopsNbr(Method method)
Will be null
if there if no
RepeatUntilSuccess
annotation.
-
geRepeatUntilSuccessAnnotationLoopsNbr
protected Integer geRepeatUntilSuccessAnnotationLoopsNbr(RepeatUntilSuccess repeatUntilSuccessAnnotation)
Will be null
if there if no
RepeatUntilSuccess
annotation.
-
getTestClassRepeatUntilSuccessAnnotationLoopsSleep
protected Integer getTestClassRepeatUntilSuccessAnnotationLoopsSleep()
Will be null
if there if no
RepeatUntilSuccess
annotation.
-
getMethodRepeatUntilSuccessAnnotationLoopsSleep
protected Integer getMethodRepeatUntilSuccessAnnotationLoopsSleep(Method method)
Will be null
if there if no
RepeatUntilSuccess
annotation.
-
getRepeatUntilSuccessAnnotationLoopsSleep
protected Integer getRepeatUntilSuccessAnnotationLoopsSleep(RepeatUntilSuccess repeatUntilSuccessAnnotation)
Will be null
if there if no
RepeatUntilSuccess
annotation.
Copyright © 2019. All rights reserved.