@Documented @Inherited @Retention(value=RUNTIME) @Target(value={TYPE,METHOD}) public @interface Config
Configuration settings that can be used on a per-class or per-test basis.
Modifier and Type | Fields and Description |
---|---|
static int |
ALL_SDKS |
static Class<? extends Application> |
DEFAULT_APPLICATION |
static String |
DEFAULT_ASSET_FOLDER |
static String |
DEFAULT_MANIFEST_NAME |
static String |
DEFAULT_PACKAGE_NAME |
static String |
DEFAULT_QUALIFIERS |
static String |
DEFAULT_RES_FOLDER |
static int |
DEFAULT_VALUE_INT |
static String |
DEFAULT_VALUE_STRING |
static int |
NEWEST_SDK |
static String |
NONE
TODO(vnayar): Create named constants for default values instead of magic numbers.
|
static int |
OLDEST_SDK |
static int |
TARGET_SDK |
Modifier and Type | Optional Element and Description |
---|---|
Class<? extends Application> |
application
The
Application class to use in the test, this takes precedence over any application specified in the AndroidManifest.xml. |
String |
assetDir
Deprecated.
If you are using at least Android Studio 3.0 alpha 5 or Bazel’s android_local_test please migrate to the preferred way to configure
|
String[] |
instrumentedPackages
A list of instrumented packages, in addition to those that are already instrumented.
|
String[] |
libraries
Deprecated.
If you are using at least Android Studio 3.0 alpha 5 or Bazel’s android_local_test please migrate to the preferred way to configure
|
String |
manifest
Deprecated.
If you are using at least Android Studio 3.0 alpha 5 or Bazel’s android_local_test please migrate to the preferred way to configure builds http://robolectric.org/getting-started/
|
int |
maxSdk
The maximum Android SDK level to emulate when running tests on multiple API versions.
|
int |
minSdk
The minimum Android SDK level to emulate when running tests on multiple API versions.
|
String |
packageName
Deprecated.
To change your package name please override the applicationId in your build system. Changing package name here is broken as the package name will no longer match the package name encoded in the arsc resources file. If you are looking to simulate another application you can create another applications Context using
Context.createPackageContext(String, int) . Note that you must add this package to ShadowPackageManager.addPackage(android.content.pm.PackageInfo) first. |
String |
qualifiers
Qualifiers specifying device configuration for this test, such as “fr-normal-port-hdpi”.
|
String |
resourceDir
Deprecated.
If you are using at least Android Studio 3.0 alpha 5 or Bazel’s android_local_test please migrate to the preferred way to configure
|
int[] |
sdk
The Android SDK level to emulate.
|
Class<?>[] |
shadows
A list of shadow classes to enable, in addition to those that are already present.
|
public static final String NONE
TODO(vnayar): Create named constants for default values instead of magic numbers. Array named constants must be avoided in order to dodge a JDK 1.7 bug. error: annotation Config is missing value for the attribute <clinit> See JDK-8013485.
public static final String DEFAULT_VALUE_STRING
public static final String DEFAULT_MANIFEST_NAME
public static final Class<? extends Application> DEFAULT_APPLICATION
public static final String DEFAULT_PACKAGE_NAME
public static final String DEFAULT_QUALIFIERS
public static final String DEFAULT_RES_FOLDER
public static final String DEFAULT_ASSET_FOLDER
public abstract int[] sdk
The Android SDK level to emulate. This value will also be set as Build.VERSION.SDK_INT.
public abstract int minSdk
The minimum Android SDK level to emulate when running tests on multiple API versions.
public abstract int maxSdk
The maximum Android SDK level to emulate when running tests on multiple API versions.
@Deprecated public abstract String manifest
The Android manifest file to load; Robolectric will look relative to the current directory. Resources and assets will be loaded relative to the manifest.
If not specified, Robolectric defaults to AndroidManifest.xml
.
If your project has no manifest or resources, use NONE
.
public abstract Class<? extends Application> application
The Application
class to use in the test, this takes precedence over any application specified in the AndroidManifest.xml.
Application
class to use in the test.@Deprecated public abstract String packageName
Context.createPackageContext(String, int)
. Note that you must add this package to ShadowPackageManager.addPackage(android.content.pm.PackageInfo)
first.Java package name where the “R.class” file is located. This only needs to be specified if you define an applicationId
associated with productFlavors
or specify applicationIdSuffix
in your build.gradle.
If not specified, Robolectric defaults to the applicationId
.
public abstract String qualifiers
Qualifiers specifying device configuration for this test, such as “fr-normal-port-hdpi”.
If the string is prefixed with ‘+’, the qualifiers that follow are overlayed on any more broadly-scoped qualifiers.
See Device Configuration for details.
@Deprecated public abstract String resourceDir
The directory from which to load resources. This should be relative to the directory containing AndroidManifest.xml.
If not specified, Robolectric defaults to res
.
@Deprecated public abstract String assetDir
The directory from which to load assets. This should be relative to the directory containing AndroidManifest.xml.
If not specified, Robolectric defaults to assets
.
public abstract Class<?>[] shadows
A list of shadow classes to enable, in addition to those that are already present.
public abstract String[] instrumentedPackages
A list of instrumented packages, in addition to those that are already instrumented.
@Deprecated public abstract String[] libraries
A list of folders containing Android Libraries on which this project depends.