aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.tests/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/README.txt')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/README.txt101
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.
+
+