B - The concrete type of this builder (the ‘self-type’). All the Builder methods of this class (such as named(java.lang.String)) return this type, so that Builder methods of more derived classes can be chained onto them without casting.G - The type of the generator to be passed to testers in the generated test suite. An instance of G should somehow provide an instance of the class under test, plus any other information required to parameterize the test.public abstract class FeatureSpecificTestSuiteBuilder<B extends FeatureSpecificTestSuiteBuilder<B,G>,G> extends Object
Creates, based on your criteria, a JUnit test suite that exhaustively tests the object generated by a G, selecting appropriate tests by matching them against specified features.
| Constructor and Description |
|---|
FeatureSpecificTestSuiteBuilder() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkCanCreate()
Throw
IllegalStateException if createTestSuite() can’t be called yet. |
TestSuite |
createTestSuite()
Creates a runnable JUnit test suite based on the criteria already given.
|
protected static String |
formatFeatureSet(Set<? extends Feature<?>> features) |
Set<Feature<?>> |
getFeatures() |
String |
getName() |
protected Runnable |
getSetUp() |
G |
getSubjectGenerator() |
Set<Method> |
getSuppressedTests() |
protected Runnable |
getTearDown() |
protected abstract List<Class<? extends AbstractTester>> |
getTesters() |
protected TestSuite |
makeSuiteForTesterClass(Class<? extends AbstractTester<?>> testerClass) |
B |
named(String name)
Configures this builder produce a TestSuite with the given name.
|
protected B |
self() |
B |
suppressing(Collection<Method> methods) |
B |
suppressing(Method... methods)
Prevents the given methods from being run as part of the test suite.
|
protected B |
usingGenerator(G subjectGenerator) |
B |
withFeatures(Feature<?>... features)
Configures this builder to produce tests appropriate for the given features.
|
B |
withFeatures(Iterable<? extends Feature<?>> features) |
B |
withSetUp(Runnable setUp) |
B |
withTearDown(Runnable tearDown) |
protected B self()
public G getSubjectGenerator()
protected Runnable getSetUp()
protected Runnable getTearDown()
public B withFeatures(Feature<?>... features)
Configures this builder to produce tests appropriate for the given features. This method may be called more than once to add features in multiple groups.
public String getName()
public B suppressing(Method... methods)
Prevents the given methods from being run as part of the test suite.
Note: in principle this should never need to be used, but it might be useful if the semantics of an implementation disagree in unforeseen ways with the semantics expected by a test, or to keep dependent builds clean in spite of an erroneous test.
public B suppressing(Collection<Method> methods)
public TestSuite createTestSuite()
Creates a runnable JUnit test suite based on the criteria already given.
protected void checkCanCreate()
Throw IllegalStateException if createTestSuite() can’t be called yet.
protected abstract List<Class<? extends AbstractTester>> getTesters()
protected TestSuite makeSuiteForTesterClass(Class<? extends AbstractTester<?>> testerClass)