LƯU Ý: Giải pháp này dựa trên việc sử dụng Eclipse Indigo (3.8.2) và có thể phải được triển khai hơi khác cho một IDE khác mặc dù các nguyên tắc cơ bản sẽ giống nhau.
Tôi đã gặp vấn đề tương tự và tôi thấy rằng những cách sau luôn hoạt động:
( LƯU Ý: Những hướng dẫn này dành cho việc xây dựng một nhóm dự án mới từ đầu. Nếu bạn đã xây dựng các phần của nhóm dự án, thì bạn có thể phải sửa đổi các dự án của mình để chúng kết nối theo cùng một cách. )
- Tạo dự án Thư viện Android mới bằng cách chọn hộp kiểm "Là Thư viện" trong khi tạo. (ví dụ: một dự án Android có tên "RemingtonAndroidTools").
- Xây dựng dự án Thư viện Android và xác minh rằng nó đã tạo một tệp jar trong thư mục bin. (ví dụ: tệp jar có tên "RemingtonAndroidTools.jar".)
- Tạo một Dự án Android trống để thử nghiệm ứng dụng Android sẽ hoạt động như một Ứng dụng thử nghiệm Android. (Ví dụ: một dự án Android có tên "RemingtonAndroidToolsTestApp"). Bạn sẽ không cần phải sửa đổi mã nguồn hoặc tài nguyên của dự án Ứng dụng thử nghiệm Android trừ khi bạn có thứ gì đó phải được thêm vào để thử nghiệm. Nhiều thứ có thể được kiểm tra mà không cần bất kỳ sửa đổi nào đối với Dự án ứng dụng thử nghiệm Android. Dự án Ứng dụng thử nghiệm Android là cầu nối giữa dự án Thư viện Android của bạn và dự án Android Junit giúp cho việc thử nghiệm dự án Thư viện Android thông qua Android Junit có thể thực hiện được.
- Chuyển đến tab Thư viện của Đường dẫn xây dựng Java cho dự án Ứng dụng thử nghiệm Android ("RemingtonAndroidToolsTestApp" trong ví dụ này).
- Thêm tệp jar ("RemingtonAndroidTools.jar" trong ví dụ này) của Dự án Thư viện Android ("RemingtonAndroidTools" trong ví dụ này) qua nút "Thêm Chum ...".
- Tạo dự án Kiểm tra Android mới (ví dụ: "RemingtonAndroidToolsTester") sẽ đóng vai trò là Trình kiểm tra thư viện Android và chọn dự án Ứng dụng kiểm tra Android ("RemingtonAndroidToolsTestApp" trong ví dụ này) làm mục tiêu.
- Chuyển đến tab Thư viện của Đường dẫn xây dựng Java cho dự án Trình kiểm tra thư viện Android ("RemingtonAndroidToolsTester" trong ví dụ này).
- Thêm tệp jar ("RemingtonAndroidTools.jar" trong ví dụ này) của Dự án Thư viện Android ("RemingtonAndroidTools" trong ví dụ này) qua nút "Thêm Chum ...".
- Tìm thư mục cuối cùng của gói Android của bạn trong dự án Trình kiểm tra thư viện Android (ví dụ: "danny.remington.remington_android_tools_test_app.test") và thêm một lớp kiểm tra (ví dụ: "MainActivityTest") kế thừa từ ActivityI Kinh nguyệtTestCase2.
- Chỉnh sửa lớp thử nghiệm ("TestActivityTest" trong ví dụ này) để sử dụng hoạt động (ví dụ: "TestActivity") của Ứng dụng Kiểm tra Android ("RemingtonAndroidToolsTestApp" trong ví dụ này) làm tham số cho ActivityI Kinh nguyệtTestCase2.
- Chỉnh sửa lớp kiểm tra ("TestActivityTest" trong ví dụ này) và tạo một phương thức khởi tạo mặc định thực hiện lệnh gọi đến super (Lớp) và chuyển vào lớp của Ứng dụng Kiểm tra Android ("TestActivity.class" chẳng hạn).
Bạn sẽ kết thúc với ba dự án (Thư viện Android, Ứng dụng kiểm tra Android, Trình kiểm tra thư viện Android) trông tương tự như sau:
Bạn nên kết thúc với một lớp học để kiểm tra Thư viện Android của mình trông giống như sau:
package danny.remington.remington_android_tools_test_app.test;
import android.test.ActivityInstrumentationTestCase2;
import danny.remington.remington_android_tools_test_app.TestActivity;
/**
*
*/
public class TestActivityTest extends
ActivityInstrumentationTestCase2<TestActivity> {
public TestActivityTest() {
super(TestActivity.class);
}
}
Sau đó, bạn có thể thêm bất kỳ bài kiểm tra nào mà bạn muốn. Bạn sẽ không cần phải tham khảo thêm Ứng dụng kiểm tra Android ("RemingtonAndroidToolsTestApp" trong ví dụ này) để chạy các thử nghiệm của mình trừ khi chúng yêu cầu quyền truy cập vào một thành phần cụ thể của Android (chẳng hạn như thư mục Nội dung). Nếu bạn cần truy cập bất kỳ thành phần cụ thể nào của Android, bạn có thể làm như vậy bằng cách sửa đổi Ứng dụng kiểm tra Android ("RemingtonAndroidToolsTestApp" trong ví dụ này) và sau đó tham chiếu nó thông qua thiết bị được cung cấp bởi Android Junit API tiêu chuẩn. (Bạn có thể đọc thêm về điều đó tại đây: http://developer.android.com/tools/testing/testing_android.html )