Espresso Runner Runtime

A pure Gradle port of the Espresso testing utility for Android!

License

License

GroupId

GroupId

com.jakewharton.espresso
ArtifactId

ArtifactId

espresso-runner-runtime
Last Version

Last Version

1.1-r3
Release Date

Release Date

Type

Type

aar
Description

Description

Espresso Runner Runtime
A pure Gradle port of the Espresso testing utility for Android!
Project URL

Project URL

https://github.com/JakeWharton/double-espresso/
Source Code Management

Source Code Management

https://github.com/JakeWharton/double-espresso/

Download espresso-runner-runtime

How to add to project

<!-- https://jarcasting.com/artifacts/com.jakewharton.espresso/espresso-runner-runtime/ -->
<dependency>
    <groupId>com.jakewharton.espresso</groupId>
    <artifactId>espresso-runner-runtime</artifactId>
    <version>1.1-r3</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/com.jakewharton.espresso/espresso-runner-runtime/
implementation 'com.jakewharton.espresso:espresso-runner-runtime:1.1-r3'
// https://jarcasting.com/artifacts/com.jakewharton.espresso/espresso-runner-runtime/
implementation ("com.jakewharton.espresso:espresso-runner-runtime:1.1-r3")
'com.jakewharton.espresso:espresso-runner-runtime:aar:1.1-r3'
<dependency org="com.jakewharton.espresso" name="espresso-runner-runtime" rev="1.1-r3">
  <artifact name="espresso-runner-runtime" type="aar" />
</dependency>
@Grapes(
@Grab(group='com.jakewharton.espresso', module='espresso-runner-runtime', version='1.1-r3')
)
libraryDependencies += "com.jakewharton.espresso" % "espresso-runner-runtime" % "1.1-r3"
[com.jakewharton.espresso/espresso-runner-runtime "1.1-r3"]

Dependencies

compile (1)

Group / Artifact Type Version
com.jakewharton.espresso : espresso-runner jar 1.1-r3

Project Modules

There are no modules declared in this project.

DEPRECATED

This project is now deprecated. Espresso 2.0 is now available.

Double Espresso

A pure Gradle port of the Espresso testing utility for Android!

Note: From android gradle plugin 0.9, use androidTestCompile for dependencies instead of instrumentTestCompile (see plugin migration instructions)

No more fumbling with local jars or dependency conflicts. Pull it in with one line:

androidTestCompile 'com.jakewharton.espresso:espresso:1.1-r3'

Espresso also has an add-on module which provides helpers for the support-v4 library:

androidTestCompile 'com.jakewharton.espresso:espresso-support-v4:1.1-r3'

Configure the build to use Espresso's custom test runner:

defaultConfig {
  testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
}

The Espresso classes have not been modified from the original version. This exists only as a means of creating artifacts for native consumption by the new Gradle Android build system. This project will be immediately deprecated once Google releases a proper version of Espresso that can be consumed without hassle. A diff of the changes is available to view.

DO NOT submit pull requests for features, functionality, or bug fixes. Direct those to the original project on Google Code. Only changes to which further the port to Gradle will be accepted.

Duplicated Dependencies

Due to a bug in the current Android plugin, you may need to exclude dependencies which are duplicated in both the app and test app.

For example, if you have a dependency on Dagger you will need to manually exclude it from the test dependency for the time being.

androidTestCompile('com.jakewharton.espresso:espresso:1.1-r3') {
  exclude group: 'com.squareup.dagger'
}

The following are the dependencies of Espresso which may need to be temporarily excluded:

com.squareup.dagger:dagger:1.2.1
javax.inject:javax.inject:1
javax.annotation:javax.annotation-api:1.2
com.google.guava:guava:16.0
com.google.code.findbugs:jsr305:1.3.9
org.hamcrest:hamcrest-core:1.1
org.hamcrest:hamcrest-library:1.1
org.hamcrest:hamcrest-integration:1.1

and those of the 'support-v4' module:

com.android.support:support-v4:21.0.0

Notes

The following things are worth noting from the migration:

  • Module names have been shuffled to be structured more logically.

    OLD                        NEW
    ------------------------   ------------------------
    espresso/lib/              espresso/
    espresso/libtests/         espresso-tester/ (src/instrumentTest)
    espresso/contrib/          espresso-support-v4/
    espresso/contribtests/     espresso-support-v4-tester/ (src/instrumentTest)
    testapp/                   espresso-sample/
    testapp_test/              espresso-sample/ (src/instrumentTest)
    testrunner/                espresso-runner/
    testrunner-runtime/        espresso-runner-runtime/
    
  • The Maven build used the 'testapp' module for the 'libtests', 'contribtests', and 'testapp_test' tests. Since Gradle does not easily facilitate this, specific parts of 'testapp' were moved into the src/main/ folders of the 'espress-tester' and 'espresso-support-v4-tester' modules for direct use.

  • Declaring activities inside the instrumentation test for library projects is not supported. To work around this, we mirror the Maven technique of having "tester" projects adjacent to the libraries. The activities the tests exercise are in src/main/ with a proper manifest.

  • Dagger was updated to version 1.2.1.

  • Guava was updated to version 16.0.

Versions

Version
1.1-r3
1.1-r2
1.1-r1