Peter vdL
Peter vdL

Reputation: 4993

JUnit and Android?

Is anyone using Junit and Android? Or is that just a worthy hope? Is there a tutorial anywhere?

Upvotes: 7

Views: 2195

Answers (4)

Prime
Prime

Reputation: 4241

Android has great support for JUnit 3

From Testing Fundamentals on Android Developers:

The Android testing framework, an integral part of the development environment, provides an architecture and powerful tools that help you test every aspect of your application at every level from unit to framework.

The testing framework has these key features:

  • Android test suites are based on JUnit. You can use plain JUnit to test a class that doesn't call the Android API, or Android's JUnit extensions to test Android components. If you're new to Android testing, you can start with general-purpose test case classes such as AndroidTestCase and then go on to use more sophisticated classes.
  • The Android JUnit extensions provide component-specific test case classes. These classes provide helper methods for creating mock objects and methods that help you control the lifecycle of a component.
  • Test suites are contained in test packages that are similar to main application packages, so you don't need to learn a new set of tools or techniques for designing and building tests.
  • The SDK tools for building and tests are available in Eclipse with ADT, and also in command-line form for use with other IDES. These tools get information from the project of the application under test and use this information to automatically create the build files, manifest file, and directory structure for the test package.
  • The SDK also provides monkeyrunner, an API testing devices with Python programs, and UI/Application Exerciser Monkey, a command-line tool for stress-testing UIs by sending pseudo-random events to a device.

This document describes the fundamentals of the Android testing framework, including the structure of tests, the APIs that you use to develop tests, and the tools that you use to run tests and view results. The document assumes you have a basic knowledge of Android application programming and JUnit testing methodology.

Upvotes: 10

Dr. Daniel Thommes
Dr. Daniel Thommes

Reputation: 697

"Note that the Android testing API supports JUnit 3 code style, but not JUnit 4." (Source)

If you want to use JUnit4 or have existing JUnit4 tests you can use JUnit4Android.

Upvotes: 1

Merkidemis
Merkidemis

Reputation: 2851

You can also use Robotium to drive the UI from within JUnit for more functional style testing.

Upvotes: 1

Captain Charmi
Captain Charmi

Reputation: 604

I have been using Roboelectric which is awesome because it does not launch the simulator making the run time for the tests very very quick. A sample project is provided as an example and can be found here at github

Upvotes: 1

Related Questions