53 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
<p>
 | 
						|
    This sample is the test application for the
 | 
						|
    <a href="../../../resources/tutorials/testing/activity_test.html">Activity
 | 
						|
    Testing</a> tutorial. It tests the <a href="../Spinner/index.html">Spinner</a> example
 | 
						|
    application.
 | 
						|
</p>
 | 
						|
<p>
 | 
						|
    The test application uses the
 | 
						|
<a href="../../../reference/android/test/ActivityInstrumentationTestCase2.html"><code>ActivityInstrumentationTestCase2</code></a>
 | 
						|
    test case class,
 | 
						|
    which extends both <a href="../../../reference/android/app/Instrumentation">Android instrumentation</a> and the JUnit
 | 
						|
<a href="../../../reference/junit/framework/TestCase.html"><code>TestCase</code></a>
 | 
						|
    class. The test runner is <a href="../../../reference/android/test/InstrumentationTestRunner.html"><code>InstrumentationTestRunner</code></a>.
 | 
						|
</p>
 | 
						|
<p>
 | 
						|
    The application shows how to set up a test application project,
 | 
						|
    how to create the <a href="AndroidManifest.html"><code>AndroidManifest.xml</code></a>
 | 
						|
    file for a test application, and how to set up a test case class for a test fixture. The
 | 
						|
    test case class, <a href="src/com/android/example/spinner/test/SpinnerActivityTest.html"><code>SpinnerActivityTest</code></a>,
 | 
						|
    contains tests that demonstrate the following Android test patterns:
 | 
						|
</p>
 | 
						|
    <ul>
 | 
						|
        <li>
 | 
						|
            Test setup: The <code>setUp()</code> method re-initializes the state of the application under test
 | 
						|
            before each test is run.
 | 
						|
        </li>
 | 
						|
        <li>
 | 
						|
            Initial conditions: The <code>testPreconditions()</code> method demonstrates how to
 | 
						|
            test that the application under test is properly initialized prior to running the
 | 
						|
            test fixture.
 | 
						|
        </li>
 | 
						|
        <li>
 | 
						|
            UI interaction: The <code>testSpinnerUI()</code> method demonstrates how to send keystrokes
 | 
						|
            to the activity under test and then test the result.
 | 
						|
        </li>
 | 
						|
        <li>
 | 
						|
            Application control using instrumentation: The <code>testStateDestroy()</code> and <code>testStatePause()</code>
 | 
						|
            methods demonstrate how to use instrumentation to trigger stages in the lifecycle of the activity under test.
 | 
						|
        </li>
 | 
						|
    </ul>
 | 
						|
<p>
 | 
						|
    The <a href="AndroidManifest.html">manifest</a> declares an <code><instrumentation></code> element
 | 
						|
    that links the test application with the application under test. Specifically, the
 | 
						|
    element's <code>android:name</code> attribute specifies <code>InstrumentationTestRunner</code> as the
 | 
						|
    instrumentation to use. The <code>android:targetPackage</code> attribute specifies
 | 
						|
    <code>com.android.example.spinner</code> as the name of the Android package that contains the
 | 
						|
    application under test.
 | 
						|
</p>
 | 
						|
<img alt="The initial user interface for the Spinner sample application" style="height:230px;"
 | 
						|
     src="../images/SpinnerTest1.png"/>
 | 
						|
<img alt="The JUnit view in Eclipse with ADT, showing a successful test run of SpinnerTest" style="height:230px;"
 | 
						|
     src="../images/SpinnerTest2.png"/>
 |