diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/README.txt')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/README.txt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/README.txt b/eclipse/plugins/com.android.ide.eclipse.tests/README.txt new file mode 100644 index 000000000..fe69958d3 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/README.txt @@ -0,0 +1,101 @@ +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. + + |