Class BMUnitRunner
java.lang.Object
org.junit.runner.Runner
org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
org.junit.runners.BlockJUnit4ClassRunner
org.jboss.byteman.contrib.bmunit.BMUnitRunner
- All Implemented Interfaces:
org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Orderable, org.junit.runner.manipulation.Sortable
public class BMUnitRunner
extends org.junit.runners.BlockJUnit4ClassRunner
Specialisation of the BlockJUnit4ClassRunner Runner class which can be attached to a text class
using the @RunWith annotation. It ensures that Byteman rules are loaded and unloaded for tests
which are annotated with an @Byteman annotation
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BMRunnerUtilprivate BMUnitConfig(package private) BMRules(package private) BMScripts(package private) BMRule(package private) BMScript(package private) Class<?> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.junit.runners.model.StatementaddClassConfigLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementaddClassMultiRuleLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementaddClassMultiScriptLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementaddClassSingleRuleLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementaddClassSingleScriptLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementaddMethodConfigLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) protected org.junit.runners.model.StatementaddMethodMultiRuleLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMRules annotationprotected org.junit.runners.model.StatementaddMethodMultiScriptLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMScripts annotationprotected org.junit.runners.model.StatementaddMethodSingleRuleLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMRule annotationprotected org.junit.runners.model.StatementaddMethodSingleScriptLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMScript annotationprotected org.junit.runners.model.StatementchildrenInvoker(org.junit.runner.notification.RunNotifier notifier) protected org.junit.runners.model.StatementmethodInvoker(org.junit.runners.model.FrameworkMethod method, Object test) Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, computeTestMethods, createTest, createTest, describeChild, getChildren, getTestRules, isIgnored, methodBlock, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeoutMethods inherited from class org.junit.runners.ParentRunner
classBlock, classRules, createTestClass, filter, getDescription, getName, getRunnerAnnotations, getTestClass, order, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses, withInterruptIsolationMethods inherited from class org.junit.runner.Runner
testCount
-
Field Details
-
classConfigAnnotation
-
classSingleScriptAnnotation
BMScript classSingleScriptAnnotation -
classMultiScriptAnnotation
BMScripts classMultiScriptAnnotation -
classMultiRuleAnnotation
BMRules classMultiRuleAnnotation -
classSingleRuleAnnotation
BMRule classSingleRuleAnnotation -
testKlazz
Class<?> testKlazz -
BMRunnerUtil
-
-
Constructor Details
-
BMUnitRunner
Creates a BMUnitRunner to run test inklass- Parameters:
klass- idenitifies the Java class containing the tests- Throws:
org.junit.runners.model.InitializationError- if the test class is malformed.
-
-
Method Details
-
childrenInvoker
protected org.junit.runners.model.Statement childrenInvoker(org.junit.runner.notification.RunNotifier notifier) - Overrides:
childrenInvokerin classorg.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-
addClassConfigLoader
protected org.junit.runners.model.Statement addClassConfigLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) -
addClassSingleScriptLoader
protected org.junit.runners.model.Statement addClassSingleScriptLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) -
addClassMultiScriptLoader
protected org.junit.runners.model.Statement addClassMultiScriptLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) -
addClassMultiRuleLoader
protected org.junit.runners.model.Statement addClassMultiRuleLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) -
addClassSingleRuleLoader
protected org.junit.runners.model.Statement addClassSingleRuleLoader(org.junit.runners.model.Statement statement, org.junit.runner.notification.RunNotifier notifier) -
methodInvoker
protected org.junit.runners.model.Statement methodInvoker(org.junit.runners.model.FrameworkMethod method, Object test) - Overrides:
methodInvokerin classorg.junit.runners.BlockJUnit4ClassRunner
-
addMethodConfigLoader
protected org.junit.runners.model.Statement addMethodConfigLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) -
addMethodSingleScriptLoader
protected org.junit.runners.model.Statement addMethodSingleScriptLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMScript annotation- Parameters:
statement- the statement to be evaluatedmethod- the method being tested- Returns:
- the statement possibly wrapped with load and unload calls
-
addMethodMultiScriptLoader
protected org.junit.runners.model.Statement addMethodMultiScriptLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMScripts annotation- Parameters:
statement- the statement to be evaluatedmethod- the method being tested- Returns:
- the statement possibly wrapped with load and unload calls
-
addMethodMultiRuleLoader
protected org.junit.runners.model.Statement addMethodMultiRuleLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMRules annotation- Parameters:
statement- the statement to be evaluatedmethod- the method being tested- Returns:
- the statement possibly wrapped with load and unload calls
-
addMethodSingleRuleLoader
protected org.junit.runners.model.Statement addMethodSingleRuleLoader(org.junit.runners.model.Statement statement, org.junit.runners.model.FrameworkMethod method) wrap the test method execution statement with the necessary load and unload calls if it has a BMRule annotation- Parameters:
statement- the statement to be evaluatedmethod- the method being tested- Returns:
- the statement possibly wrapped with load and unload calls
-