2013-08-17 60 views
25

Tôi đang sử dụng Android Studio 0.2.4, nhưng tôi cho rằng câu hỏi này có thể liên quan đến IntelliJ nói chung. Các bài kiểm tra của tôi dưới src/instrumentTest/java và tất cả mở rộng AndroidTestCase. Khi tôi chạy tất cả các bài kiểm tra (nói bằng cách nhấp chuột phải vào thư mục nguồn và nhấp vào "Chạy ...") các bài kiểm tra chỉ chạy tốt trên trình mô phỏng Android như Android Tests (như được thấy trong Cấu hình Run/Debug). Nhưng nếu tôi cố gắng chạy một phương pháp thử nghiệm hoặc lớp thử nghiệm theo cùng một cách (nhấp chuột phải vào phương thức và nhấp vào "Chạy ..."), kiểm tra sẽ chạy như một kiểm tra JUnit bình thường không phải trên trình giả lập, mà tất nhiên là không thành công (ngăn xếp dấu vết bên dưới). Ngay cả khi tôi cố tạo một Cấu hình Chạy mới, tôi không thấy cách nào tạo ra bất cứ điều gì khác ngoài cấu hình JUnit.Cách chạy phương pháp thử nghiệm hoặc lớp học dưới dạng Thử nghiệm Android trong Android Studio

Từ IDE, làm cách nào để chạy phương pháp thử nghiệm hoặc lớp thử nghiệm dưới dạng Thử nghiệm Android?

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:188) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113) 
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 3 more 

Trả lời

36

Đối với bất kỳ ai vẫn theo dõi, tính năng này hoạt động trong Android Studio 0.2.8. Có ba trạng thái bạn cần phải nhận thức được mặc dù.

  1. Nếu bạn chưa bao giờ chạy phương pháp thử hoặc lớp trước, sẽ không có cấu hình chạy đã lưu. Vì vậy, nhấp chuột phải vào phương thức hoặc lớp học và sẽ có một mũi tên bên phải để Chạy hiển thị tên của bài kiểm tra của bạn. Chọn một trong đó có biểu tượng Android.

  2. Nếu bạn đã chạy phương pháp thử hoặc lớp như một kiểm tra JUnit thông thường trước đó thì Android Studio sẽ lưu cấu hình đó và sẽ không có mũi tên hoặc tùy chọn bên phải trong Chạy trong trình đơn ngữ cảnh. Trong trường hợp đó, trong menu tập tin, hãy vào Run-> Edit Configurations ..., tìm kiểm tra của bạn trong phần JUnit, và xóa nó đi. Sau đó, bạn nên ở trong trạng thái (1).

  3. Nếu bạn đã chạy phương pháp thử nghiệm hoặc lớp học dưới dạng thử nghiệm Android trước đó thì Android Studio sẽ lưu cấu hình đó và sẽ không có mũi tên hoặc tùy chọn bên phải trong Chạy trong trình đơn ngữ cảnh. Chỉ cần chọn Run nên hoạt động.

+2

và điều gì về intellij IDEA? bạn có tìm thấy cách giải quyết nào không? –

2

Bạn đã thiết lập mã thử nghiệm của mình một cách chính xác trong Android Studio chưa? Công ước mới nhất của Gradle trong Android Studio là gọi cho thư mục kiểm tra của bạn 'androidTest'. Sau đó, trong tệp build.gradle bạn cần phải đặt:

androidTest.setRoot('androidTest') 
    androidTest.java.srcDirs = ['androidTest/java'] 

Sau đó, bạn có thể nhấp chuột phải vào bất kỳ lớp thử nghiệm riêng lẻ nào và chạy nó.

CHỈNH SỬA: Các hướng dẫn này chỉ dành cho kiểm tra espresso.

+1

Điều này đã giúp tôi trong kotlin có các tệp thử nghiệm kotlin được công nhận 'androidTest.java.srcDirs + = 'src/androidTest/kotlin'' –