2015-04-28 40 views
13

Tôi tiếp tục gặp phải lỗi sau khi cố gắng thực hiện các thử nghiệm của mình trong Android Studio: Chạy thử nghiệm không thành công: Không thể tìm thấy thông tin thiết bị cho: ComponentInfo {.test/android.support.test .runner.AndroidJUnitRunner}Lỗi thử nghiệm của Android Studio Espresso: Bộ thử nghiệm trống

Lớp thử nghiệm của tôi nằm trong thư mục androidTest/java và có một hàm tạo. Build.gradle của tôi cũng chính xác. Bất kỳ trợ giúp được đánh giá cao.

Kiểm tra Lớp

@RunWith(AndroidJUnit4.class) 
@LargeTest 
public class AndroidUITests extends ActivityInstrumentationTestCase2<UserActivity>{ 

    private UserActivity userActivity; 

    public AndroidUITests() { 
     super(UserActivity.class); 
    } 


    @Before 
    public void setUp() throws Exception { 
     super.setUp(); 
     injectInstrumentation(InstrumentationRegistry.getInstrumentation()); 
     userActivity = getActivity(); 
    } 

    @Test 
    public void testPhoneIconIsDisplayed() { 
     // When the phone_icon view is available, 
     // check that it is displayed. 
     onView(ViewMatchers.withId(R.id.groupCreate)).perform(click()) 
       .check(matches(withText("Enter a name"))); 
    } 
} 

app/build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     testInstrumentationRunner 
     "android.support.test.runner.AndroidJUnitRunner" 
    } 

    packagingOptions { 
     exclude 'LICENSE.txt' 
    } 
} 

dependencies { 
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0' 
    androidTestCompile 'com.android.support.test:testing-support-lib:0.1' 
} 
+0

Khi nghi ngờ, hãy tham khảo các ví dụ chính thức: https://github.com/googlesamples/android-testing. –

Trả lời

20

Bạn cần phải cập nhật các thử nghiệm " Chỉnh sửa cấu hình "và bao gồm AndroidJUnitRunner làm nhạc cụ đo lường.

enter image description here

Tôi tìm thấy giải pháp trong video này: https://youtu.be/TGU0B4qRlHY?t=9m36s

Cập nhật

Thêm những gì @loeschg đề nghị: Hãy chắc chắn rằng bạn kiểm tra các bản ghi logcat để đảm bảo một cái gì đó không được gây ra sự cố (lỗi) trước khi thử nghiệm thậm chí còn chạy. Mã không hợp lệ trong khối @BeforeClass có thể dẫn đến thông báo "Empty Test Suite" trong Android Studio mặc dù đã đặt đúng thử nghiệm nhân vật thử nghiệm.

+0

Cảm ơn câu trả lời hoàn hảo :) –

+0

Cảm ơn bạn! Bạn tiết kiệm thời gian của tôi !!!!! –

+0

Không thể chỉ định Runner trong Cấu hình Run/Debug. – Julsteri

0

Tôi khá chắc chắn android.support.test.runner.AndroidJUnitRunner được cung cấp bởi thư viện Á hậu.

  1. Cài đặt Android Support Repository (mà bạn đã thực hiện)
  2. Add Á hậu đến sự phụ thuộc của bạn

nó sẽ giống như thế này

dependencies { 
    ... 
    androidTestCompile 'com.android.support.test:runner:0.2' 
} 
21

Trong khi câu hỏi đã được trả lời, hãy cho rằng câu hỏi này đáng được đăng cho khách truy cập trong tương lai.

Hãy chắc chắn rằng bạn kiểm tra logcat bản ghi để đảm bảo một cái gì đó không gây ra vấn đề (crash) trước khi thử nghiệm thậm chí còn chạy. Tôi có mã không hợp lệ trong khối @BeforeClass dẫn đến thông báo "Kiểm tra gói trống" trong Android Studio mặc dù đã đặt đúng thử nghiệm cho nhân viên kiểm tra.

+2

cuộc gọi tốt, đó là vấn đề của tôi. –

+0

cũng đảm bảo bạn đã đặt cấu hình chạy đúng - nếu bạn sử dụng tùy chọn "Tất cả trong gói", nó có thể không khớp với applicationId nếu bạn sử dụng tùy chọn 'applicationIdSuffix' – doodeec

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