2010-02-27 36 views
10

Tôi đã xem tất cả các ví dụ trên web và có vẻ như thật đơn giản. Tôi có một ứng dụng xương trần hiển thị một chuỗi. Tôi có một dự án thử nghiệm JUnit Android mà tôi đã tạo khi ứng dụng được tạo (nhật thực hỏi nếu tôi muốn tạo một ứng dụng thử nghiệm).Cố gắng chạy thử nghiệm JUnit Android trong Eclipse không thành công?

Khi tôi chạy ứng dụng thử nghiệm (Run As --- JUnit Android) Tôi thấy sau trong giao diện điều khiển ....

[2010/2/27 00:45:03 - SimpleCalculatorTest] Ra mắt thiết bị đo đạc android.test.InstrumentationTestRunner trên thiết bị mô phỏng-5554 [2010-02-27 00:45:12 - SimpleCalculatorTest] Chạy thử hoàn thành

Tôi không thấy bất kỳ mã nào trong testcase được gọi. Testcase của tôi là một lớp mở rộng ActivityInstrumentationTestCase2. Hiển thị nhật ký DDMS: 02-27 00: 44: 58.521: WARN/TestGrouping (1275): Gói không hợp lệ: '' không thể tìm thấy hoặc không có kiểm tra

Bất kỳ ý tưởng nào? Tôi đã thử tất cả mọi thứ ....

Trả lời

10

Nếu bạn tạo một ActivityInstrumentationTestCase2 mới thì bạn cần một hàm tạo mặc định trỏ đến lớp mà bạn muốn kiểm tra.

ví dụ:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> { 

    public TestappTest() { 
    super("my.package.app", AppUnderTest.class); 
    } 

    public void testApp() { 
     // Testcase 
    } 
} 
+4

Đối với những người đọc siêu khởi tạo này hiện không còn được dùng nữa. siêu (AppUnderTest.class) nên là đủ – IcedDante

9

tôi đã cùng một vấn đề. Lý do là các nhà xây dựng - nó bằng cách nào đó đã có một tham số như thế này:

public SearchActivityTest(Class<SearchActivity> activityClass) { 
    super("com.example.app", SearchActivity.class); 
} 

Nhưng nó sẽ không có thông số như thế này:

public SearchActivityTest() { 
    super("com.example.app", SearchActivity.class); 
} 

Nó làm việc cho tôi.

Các vấn đề liên quan