summaryrefslogtreecommitdiffstats
path: root/docs/html/training/testing/unit-testing/index.jd
diff options
context:
space:
mode:
authorQuddus Chong <quddusc@google.com>2015-05-11 21:38:46 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-05-11 21:38:46 +0000
commitd43ec6380ce04f4c0830cd35d1dbd7b3050799d4 (patch)
treecab186c2c9fb5b76ef89269a64be0e016893548d /docs/html/training/testing/unit-testing/index.jd
parent1dc26b8c1eaa6b5aa288cecf9202e77217507fd3 (diff)
parent174dc3ba607965cf1dd0578f83ce373fa74d0f65 (diff)
downloadframeworks_base-d43ec6380ce04f4c0830cd35d1dbd7b3050799d4.zip
frameworks_base-d43ec6380ce04f4c0830cd35d1dbd7b3050799d4.tar.gz
frameworks_base-d43ec6380ce04f4c0830cd35d1dbd7b3050799d4.tar.bz2
am 174dc3ba: Merge "docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator
* commit '174dc3ba607965cf1dd0578f83ce373fa74d0f65': docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator.
Diffstat (limited to 'docs/html/training/testing/unit-testing/index.jd')
-rw-r--r--docs/html/training/testing/unit-testing/index.jd63
1 files changed, 63 insertions, 0 deletions
diff --git a/docs/html/training/testing/unit-testing/index.jd b/docs/html/training/testing/unit-testing/index.jd
new file mode 100644
index 0000000..a35ba80
--- /dev/null
+++ b/docs/html/training/testing/unit-testing/index.jd
@@ -0,0 +1,63 @@
+page.title=Building Effective Unit Tests
+page.tags=testing,androidjunitrunner,junit,unit test
+
+trainingnavtop=true
+startpage=true
+
+@jd:body
+
+<div id="tb-wrapper">
+<div id="tb">
+ <h2>
+ You should also read
+ </h2>
+ <ul>
+ <li>
+ <a href="{@docRoot}tools/testing-support-library/index.html">Testing Support Library</a>
+ </li>
+ </ul>
+</div>
+</div>
+
+<p>Unit tests are the fundamental tests in your app testing strategy. By creating and running unit
+tests against your code, you can easily verify that the logic of individual units is correct.
+Running unit tests after every build helps you to
+quickly catch and fix software regressions introduced by code changes to your app.
+</p>
+
+<p>A unit test generally exercises the functionality of the smallest possible unit of code (which
+could be a method, class, or component) in a repeatable way. You should build unit tests when you
+need to verify the logic of specific code in your app. For example, if you are unit testing a
+class, your test might check that the class is in the right state. Typically, the unit of code
+is tested in isolation; your test affects and monitors changes to that unit only. A
+<a href="http://en.wikipedia.org/wiki/Mock_object" class="external-link">mocking framework</a>
+can be used to isolate your unit from its dependencies.</p>
+
+<p class="note"><strong>Note:</strong> Unit tests are not suitable for testing
+complex UI interaction events. Instead, you should use the UI testing frameworks, as described in
+<a href="{@docRoot}training/testing/ui-testing/index.html">Automating UI Tests</a>.</p>
+
+<p>For testing Android apps, you typically create these types of automated unit tests:</p>
+
+<ul>
+<li><strong>Local tests:</strong> Unit tests that run on your local machine only. These tests are
+compiled to run locally on the Java Virtual Machine (JVM) to minimize execution time. Use this
+approach to run unit tests that have no dependencies on the Android framework or have dependencies
+that can be filled by using mock objects.</li>
+<li><strong>Instrumented tests:</strong> Unit tests that run on an Android device or emulator.
+These tests have access to instrumentation information, such as the
+{@link android.content.Context} for the app under test. Use this approach to run unit tests that
+have Android dependencies which cannot be easily filled by using mock objects.</li>
+</ul>
+
+<p>The lessons in this class teach you how to build these types of automated unit tests.</p>
+
+<h2>Lessons</h2>
+<dl>
+ <dt><strong><a href="local-unit-tests.html">
+Building Local Unit Tests</a></strong></dt>
+ <dd>Learn how to build unit tests that run on your local machine.</dd>
+ <dt><strong><a href="instrumented-unit-tests.html">
+Building Instrumented Unit Tests</a></strong></dt>
+ <dd>Learn how to build unit tests that run on an Android device or emulator.</dd>
+</dl> \ No newline at end of file