public class

TestSuiteBuilder

extends Object
java.lang.Object
   ↳ android.test.suitebuilder.TestSuiteBuilder

Class Overview

Build suites based on a combination of included packages, excluded packages, and predicates that must be satisfied.

Summary

Nested Classes
class TestSuiteBuilder.FailedToCreateTests A special TestCase used to indicate a failure during the build() step. 
Public Constructors
TestSuiteBuilder(Class clazz)
The given name is automatically prefixed with the package containing the tests to be run.
TestSuiteBuilder(String name, ClassLoader classLoader)
Public Methods
final TestSuiteBuilder addRequirements(Predicate...<TestMethod> predicates)
Exclude tests that fail to satisfy all of the given predicates.
TestSuiteBuilder addRequirements(List<Predicate<TestMethod>> predicates)
Exclude tests that fail to satisfy all of the given predicates.
final TestSuite build()
Call this method once you've configured your builder as desired.
TestSuiteBuilder excludePackages(String... packageNames)
Exclude all tests in the given packages and all sub-packages, unless otherwise specified.
final TestSuiteBuilder includeAllPackagesUnderHere()
Include all junit tests that satisfy the requirements in the calling class' package and all sub-packages.
TestSuiteBuilder includePackages(String... packageNames)
Include all tests that satisfy the requirements in the given packages and all sub-packages, unless otherwise specified.
TestSuiteBuilder named(String newSuiteName)
Override the default name for the suite being built.
Protected Methods
String getSuiteName()
Subclasses use this method to determine the name of the suite.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public TestSuiteBuilder (Class clazz)

Since: API Level 1

The given name is automatically prefixed with the package containing the tests to be run. If more than one package is specified, the first is used.

Parameters
clazz Use the class from your .apk. Use the class name for the test suite name. Use the class' classloader in order to load classes for testing. This is needed when running in the emulator.

public TestSuiteBuilder (String name, ClassLoader classLoader)

Since: API Level 1

Public Methods

public final TestSuiteBuilder addRequirements (Predicate...<TestMethod> predicates)

Since: API Level 1

Exclude tests that fail to satisfy all of the given predicates. If you call this method, you probably also want to call named(String) to override the default suite name.

Parameters
predicates Predicates to add to the list of requirements.
Returns
  • The builder for method chaining.

public TestSuiteBuilder addRequirements (List<Predicate<TestMethod>> predicates)

Since: API Level 1

Exclude tests that fail to satisfy all of the given predicates.

Parameters
predicates Predicates to add to the list of requirements.
Returns
  • The builder for method chaining.

public final TestSuite build ()

Since: API Level 1

Call this method once you've configured your builder as desired.

Returns
  • The suite containing the requested tests.

public TestSuiteBuilder excludePackages (String... packageNames)

Since: API Level 1

Exclude all tests in the given packages and all sub-packages, unless otherwise specified.

Parameters
packageNames Names of packages to remove.
Returns
  • The builder for method chaining.

public final TestSuiteBuilder includeAllPackagesUnderHere ()

Since: API Level 1

Include all junit tests that satisfy the requirements in the calling class' package and all sub-packages.

Returns
  • The builder for method chaining.

public TestSuiteBuilder includePackages (String... packageNames)

Since: API Level 1

Include all tests that satisfy the requirements in the given packages and all sub-packages, unless otherwise specified.

Parameters
packageNames Names of packages to add.
Returns
  • The builder for method chaining.

public TestSuiteBuilder named (String newSuiteName)

Since: API Level 1

Override the default name for the suite being built. This should generally be called if you call addRequirements(com.android.internal.util.Predicate[]) to make it clear which tests will be included. The name you specify is automatically prefixed with the package containing the tests to be run. If more than one package is specified, the first is used.

Parameters
newSuiteName Prefix of name to give the suite being built.
Returns
  • The builder for method chaining.

Protected Methods

protected String getSuiteName ()

Since: API Level 1

Subclasses use this method to determine the name of the suite.

Returns
  • The package and suite name combined.