android_instrumentation_test()
This is liable to change in the future.
Aandroid_instrumentation_test() rule is used to define apks that should be used to run Android instrumentation tests.Arguments
name(required) #The short name for this build target.
apk(required) #The APK containing the tests. Can be an
android_binary, anapk_genruleor anandroid_instrumentation_apk.labels(defaults to[]) #A list of labels to be applied to these tests. These labels are arbitrary text strings and have no meaning within buck itself. They can, however, have meaning for you as a test author (e.g.,
smokeorfast). A label can be used to filter or include a specific test rule when executingbuck test.test_rule_timeout_ms(defaults toNone) #If set specifies the maximum amount of time (in milliseconds) in which all of the tests in this rule should complete. This overrides the default
rule_timeoutif any has been specified in[test].rule_timeout.contacts(defaults to[]) #A list of organizational contacts for this test. These could be individuals who you would contact in the event of a test failure or other issue with the test.
contacts = [ 'Joe Sixpack', 'Erika Mustermann' ]
visibility(defaults to[]) #List of build target patterns that identify the build rules that can include this rule as a dependency, for example, by listing it in their
depsorexported_depsattributes. For more information, see visibility.licenses(defaults to[]) #Set of license files for this library. To get the list of license files for a given build rule and all of its dependencies, you can use
buck query.labels(defaults to[]) #Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using
buck query attrfilter().
Examples
Here is an example of anandroid_instrumentation_test() rule that tests an android_binary().
android_binary(
name = 'messenger',
manifest = 'AndroidManifest.xml',
keystore = '//keystores:prod',
package_type = 'release',
proguard_config = 'proguard.cfg',
deps = [
...
],
)
android_instrumentation_apk(
name = 'messenger_test',
manifest = 'AndroidInstrumentationManifest.xml',
apk = ':messenger',
deps = [
...
],
)
android_instrumentation_test(
name = 'messenger_instrumentation_test',
apk = ':messenger_test',
)