commit | 87450adceccccede1ce2748dcfddc430096c4219 | [log] [tgz] |
---|---|---|
author | Brett Chabot <brettchabot@google.com> | Wed Nov 20 11:49:31 2024 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 20 11:50:07 2024 -0800 |
tree | 49149999af938b9578d1defbcd778a700252a315 | |
parent | db4acad5df3cbaf161f50137fea2ca88144e44dc [diff] |
Update minSdk for shadow methods from V to Baklava. Several InDevelopment shadow methods are marked minSdk V, that are not present in the V release. This commit increments them to Baklava. PiperOrigin-RevId: 698467636
Robolectric is the industry-standard unit testing framework for Android. With Robolectric, your tests run in a simulated Android environment inside a JVM, without the overhead and flakiness of an emulator. Robolectric tests routinely run 10x faster than those on cold-started emulators.
Robolectric supports running unit tests for 14 different versions of Android, ranging from Lollipop (API level 21) to U (API level 34).
Here's an example of a simple test written using Robolectric:
@RunWith(AndroidJUnit4.class) public class MyActivityTest { @Test public void clickingButton_shouldChangeResultsViewText() { Activity activity = Robolectric.setupActivity(MyActivity.class); Button button = (Button) activity.findViewById(R.id.press_me_button); TextView results = (TextView) activity.findViewById(R.id.results_text_view); button.performClick(); assertThat(results.getText().toString(), equalTo("Testing Android Rocks!")); } }
For more information about how to install and use Robolectric on your project, extend its functionality, and join the community of contributors, please visit robolectric.org.
If you'd like to start a new project with Robolectric tests, you can refer to deckard
(for either Maven or Gradle) as a guide to setting up both Android and Robolectric on your machine.
build.gradle
testImplementation "junit:junit:4.13.2" testImplementation "org.robolectric:robolectric:4.13"
Robolectric is built using Gradle. Both Android Studio and IntelliJ can import the top-level build.gradle.kts
file and will automatically generate their project files from it.
To get Robolectric up and running on your machine, check out this guide.
To get a high-level overview of Robolectric's architecture, check out ARCHITECTURE.md.
If you would like to live on the bleeding edge, you can try running against a snapshot build. Keep in mind that snapshots represent the most recent changes on the master
and may contain bugs.
build.gradle
repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies { testImplementation "org.robolectric:robolectric:4.14-SNAPSHOT" }