101 lines
3.8 KiB
Text
101 lines
3.8 KiB
Text
This project contains the tests for the Android Eclipse Plugins.
|
|
|
|
You can do three things:
|
|
1- Run the unit tests as a full "eclipse plugin" suite
|
|
2- Run the unit tests as independent JUnit tests (not as plugin)
|
|
3. Run the functional tests as a full "eclipse plugin" suite (require a real SDK)
|
|
|
|
The unit tests are isolated tests that do not require external dependencies such as an SDK.
|
|
The functional tests are higher level tests that may require a real SDK.
|
|
|
|
------------------------------------------
|
|
1- Running the unit tests as a full "eclipse plugin" suite
|
|
------------------------------------------
|
|
|
|
Steps to run the test suite:
|
|
|
|
A- In Eclipse, import following projects from development/tools/eclipse/plugins:
|
|
- adt-tests
|
|
- adt
|
|
- ddms
|
|
|
|
B- Create a new "JUnit Plug-in Test" run configuration via the "Run > Open Run Dialog..." menu
|
|
Set the launch configuration's data as follows:
|
|
i. "Test" tab:
|
|
Select "Run a single test"
|
|
Project: adt-tests
|
|
Test class: com.android.ide.eclipse.tests.UnitTests
|
|
Test runner: JUnit 3
|
|
ii. "Arguments" tab:
|
|
Set "VM Arguments" to
|
|
"-Dtest_data=<adt>/plugins/com.android.ide.eclipse.tests/unittests/data/"
|
|
replacing "<adt>" with absolute filesystem path to the android plugin source location
|
|
|
|
All other fields can be left with their default values
|
|
|
|
C. Run the newly created launch configuration
|
|
|
|
Running the tests will run a secondary instance of Eclipse.
|
|
|
|
Please note the following constraints to be aware of when writing tests to run within a plugin environment:
|
|
|
|
a. Access restrictions: cannot access package or protected members in a different
|
|
plugin, even if they are in the same declared package
|
|
b. Using classloader.getResource or getResourceAsStream to access test data will
|
|
likely fail in the plugin environment. Instead, use AdtTestData to access test files
|
|
in conjunction with the "test_data" environment variable mentioned above
|
|
|
|
|
|
-------------------------------------------
|
|
2- Run the unit tests as independent JUnit tests (not plugin)
|
|
-------------------------------------------
|
|
|
|
A- In Eclipse, import following projects from development/tools/eclipse/plugins:
|
|
- adt-tests
|
|
- adt
|
|
- ddms
|
|
|
|
B- Select the "unittests" source folder, right-click and select
|
|
"Run As > JUnit Test" (i.e. not the plugin tests)
|
|
|
|
This creates a debug configuration of type "JUnit Test" running all tests
|
|
in the source folder "unittests". The runtime must be JUnit 3.
|
|
|
|
Note: this method runs the tests within a regular JVM environment (ie not within
|
|
an Eclipse instance). This method has the advantage of being quicker than running
|
|
as a JUnit plugin test, and requires less potential set-up, but has the
|
|
disadvantage of not properly replicating how the tests will be run in the
|
|
continuous test environment. Tests that pass when run as "JUnit Tests" can
|
|
fail when run as "JUnit Plugin Tests", due to the extra constraints imposed by
|
|
running within an Eclipse plug-in noted in section 1.
|
|
|
|
------------------------------------------
|
|
3- Running the functional tests as a full "eclipse plugin" suite
|
|
------------------------------------------
|
|
|
|
Steps to run the test suite:
|
|
|
|
A- In Eclipse, import following projects from development/tools/eclipse/plugins:
|
|
- adt-tests
|
|
- adt
|
|
- ddms
|
|
|
|
B - Setup an SDK on host machine, that is compatible with the Eclipse ADT plugins under test
|
|
|
|
C- Create a new "JUnit Plug-in Test" run configuration via the "Run > Open Run Dialog..." menu
|
|
Set the launch configuration's data as follows:
|
|
i. "Test" tab:
|
|
Select "Run a single test"
|
|
Project: adt-tests
|
|
Test class: com.android.ide.eclipse.tests.FuncTests
|
|
Test runner: JUnit 3
|
|
ii. "Environment" tab:
|
|
Add a "sdk_home" environment variable, setting its path to the SDK from step B
|
|
|
|
All other fields can be left with their default values
|
|
|
|
D. Run the newly created launch configuration
|
|
|
|
Running the tests will run a secondary instance of Eclipse.
|
|
|
|
|