# TestSuiteBuilder

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Deprecated in[API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Nested Classes](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#nestedclasses)\|[Ctors](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#pubctors)\|[Methods](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#pubmethods)\|[Protected Methods](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#promethods)\|[Inherited Methods](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#inhmethods)  

# TestSuiteBuilder

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/test/suitebuilder/TestSuiteBuilder "View this page in Kotlin")\|Java

`
public


class
TestSuiteBuilder
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|--------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.test.suitebuilder.TestSuiteBuilder |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known direct subclasses [UnitTestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/UnitTestSuiteBuilder) |----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------| | [UnitTestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/UnitTestSuiteBuilder) | *This class was deprecated in API level 31. android.test.runner is obsolete* | |

<br />

*** ** * ** ***

<br />

**This class was deprecated in API level 26.**   
New tests should be written using the[Android Testing Support Library](https://developer.android.com/tools/testing-support-library).

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

## Summary

|                                                                                                                                                             ### Nested classes                                                                                                                                                             ||
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` class` | [TestSuiteBuilder.FailedToCreateTests](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder.FailedToCreateTests) *This class was deprecated in API level 26. New tests should be written using the[Android Testing Support Library](https://developer.android.com/tools/testing-support-library).* |

|                                                                                                                                                              ### Public constructors                                                                                                                                                               ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#TestSuiteBuilder(java.lang.Class))`(`[Class](https://developer.android.com/reference/java/lang/Class)`<T> clazz) ` The given name is automatically prefixed with the package containing the tests to be run.                           |
| ` `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#TestSuiteBuilder(java.lang.String,%20java.lang.ClassLoader))`(`[String](https://developer.android.com/reference/java/lang/String)` name, `[ClassLoader](https://developer.android.com/reference/java/lang/ClassLoader)` classLoader) ` |

|                                                                                                                                                                                                                               ### Public methods                                                                                                                                                                                                                               ||
|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` final TestSuite`                                                                                              | ` `[build](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#build())`() ` Call this method once you've configured your builder as desired.                                                                                                                                                                                  |
| ` `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder)       | ` `[excludePackages](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#excludePackages(java.lang.String[]))`(`[String...](https://developer.android.com/reference/java/lang/String)` packageNames) ` Exclude all tests in the given packages and all sub-packages, unless otherwise specified.                               |
| ` final `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder) | ` `[includeAllPackagesUnderHere](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#includeAllPackagesUnderHere())`() ` Include all junit tests that satisfy the requirements in the calling class' package and all sub-packages.                                                                                             |
| ` `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder)       | ` `[includePackages](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#includePackages(java.lang.String[]))`(`[String...](https://developer.android.com/reference/java/lang/String)` packageNames) ` Include all tests that satisfy the requirements in the given packages and all sub-packages, unless otherwise specified. |
| ` `[TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder)       | ` `[named](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#named(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` newSuiteName) ` Override the default name for the suite being built.                                                                                             |

|                                                                                                                      ### Protected methods                                                                                                                      ||
|-----------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[String](https://developer.android.com/reference/java/lang/String) | ` `[getSuiteName](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder#getSuiteName())`() ` Subclasses use this method to determine the name of the suite. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### TestSuiteBuilder

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public TestSuiteBuilder (Class<T> clazz)
```

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.

<br />

|                                                                                                    Parameters                                                                                                    ||
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `clazz` | `Class`: 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. <br /> |

### TestSuiteBuilder

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public TestSuiteBuilder (String name, 
                ClassLoader classLoader)
```

<br />

<br />

|             Parameters              ||
|---------------|----------------------|
| `name`        | `String` <br />      |
| `classLoader` | `ClassLoader` <br /> |

## Public methods

### build

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public final TestSuite build ()
```

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

<br />

|                            Returns                            ||
|-------------|--------------------------------------------------|
| `TestSuite` | The suite containing the requested tests. <br /> |

### excludePackages

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public TestSuiteBuilder excludePackages (String... packageNames)
```

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

<br />

|                          Parameters                           ||
|----------------|-----------------------------------------------|
| `packageNames` | `String`: Names of packages to remove. <br /> |

|                                                                     Returns                                                                     ||
|--------------------------------------------------------------------------------------------------------|-----------------------------------------|
| [TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder) | The builder for method chaining. <br /> |

### includeAllPackagesUnderHere

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public final TestSuiteBuilder includeAllPackagesUnderHere ()
```

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

<br />

|                                                                     Returns                                                                     ||
|--------------------------------------------------------------------------------------------------------|-----------------------------------------|
| [TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder) | The builder for method chaining. <br /> |

### includePackages

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public TestSuiteBuilder includePackages (String... packageNames)
```

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

<br />

|                         Parameters                         ||
|----------------|--------------------------------------------|
| `packageNames` | `String`: Names of packages to add. <br /> |

|                                                                     Returns                                                                     ||
|--------------------------------------------------------------------------------------------------------|-----------------------------------------|
| [TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder) | The builder for method chaining. <br /> |

### named

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public TestSuiteBuilder named (String newSuiteName)
```

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.

<br />

|                                   Parameters                                   ||
|----------------|----------------------------------------------------------------|
| `newSuiteName` | `String`: Prefix of name to give the suite being built. <br /> |

|                                                                     Returns                                                                     ||
|--------------------------------------------------------------------------------------------------------|-----------------------------------------|
| [TestSuiteBuilder](https://developer.android.com/reference/android/test/suitebuilder/TestSuiteBuilder) | The builder for method chaining. <br /> |

## Protected methods

### getSuiteName

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
protected String getSuiteName ()
```

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

<br />

|                                                     Returns                                                     ||
|--------------------------------------------------------------------|---------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The package and suite name combined. <br /> |