2015-05-22 17 views
8

Tôi đang cố gắng để kiểm tra đơn vị trong ứng dụng Android của tôi, và đây là hướng dẫn thử nghiệm đơn giản những gì tôi đang làm.Tại sao Android Studio nói "Đã không nhận được sự kiện thử nghiệm"?

import static org.junit.Assert.*; 
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.robolectric.RobolectricTestRunner; 

@RunWith(RobolectricTestRunner.class) 
public class ServerListManagerTest extends AndroidTestCase{ 

    @Test 
    public void testTrueIsTrue() throws Exception { 
    assertEquals(true, true); 
    } 
} 

Thư mục là như thế này, src\main\androidTest\java\some packages\ServerListManagerTest.java

tôi đã cố gắng thay đổi thư mục này, và cũng có thể xây dựng cấu hình. nhưng studio android vẫn không nhận ra bài kiểm tra đơn vị của tôi mặc dù quá trình tạo thành công.

Đây là build.gradle của tôi trong ứng dụng,

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "com.kaist.se.pmpapp" 
     minSdkVersion 16 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 

buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
     } 
sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } } } 



dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    androidTestCompile 'org.robolectric:robolectric:2.4' 
    androidTestCompile 'junit:junit:4.12' 
    androidTestCompile group: 'junit', name: 'junit', version: '4.12' 
    } 

Có gì sai trong mã của tôi ????

Trả lời

19

Tôi cho rằng bạn đang sử dụng Android Studio phiên bản 1.2, mới nhất vào thời điểm này.

Tôi không nghĩ có gì sai với mã của bạn. Theo Jason Atwood's post, vấn đề có vẻ liên quan đến bộ nhớ đệm gradle các kết quả trước đó và không chạy nó một lần nữa. Nếu bạn nhìn vào bảng điều khiển "Gradle", bạn sẽ thấy tất cả mọi thứ nói "UP-TO-DATE". Tuy nhiên, đề xuất của ông về việc thêm tùy chọn "--rerun-tasks" vào tham số tập lệnh không đủ cho tôi.

Trong thêm vào "--rerun-tasks", tôi phải tắt quá trình xây dựng và buộc nó gọi công cụ bên ngoài gradlew. Để thực hiện việc này, hãy truy cập ...

File > Settings > Build, Execution, Deployment > Compiler 

Sau đó, bỏ chọn tùy chọn "Sử dụng trong quá trình xây dựng". Hy vọng rằng một bản phát hành Android Studio trong tương lai sẽ khắc phục điều này và chúng tôi có thể bật lại tùy chọn đó.

+0

Tôi đã thử đề xuất của bạn và bây giờ tôi có thể thấy thông báo 'Không có kiểm tra nào được tìm thấy cho bao gồm', mặc dù mã thử nghiệm của tôi giống nhau ở trên. –

+1

Ít nhất đó là một vấn đề khác nhau nên chúng tôi đang tiến bộ. Tôi tin rằng bài kiểm tra của bạn nằm trên thư mục sai. Tôi có của tôi trong 'src/test/java/...' (tức là song song với _main_). 'src/androidTest/java' là dành cho các thử nghiệm chạy trên chính thiết bị. –

+3

Trong báo cáo các bài kiểm tra đơn vị đã thành công nhưng AS cho biết các sự kiện kiểm tra đã không được nhận. Tôi chỉ vô hiệu hóa "Sử dụng xây dựng trong quá trình" theo lời khuyên của bạn, và bây giờ tôi thấy kết quả trong AS. Tôi căm thù ghét những thứ như thế này trong công cụ. Tại sao họ không thể làm việc như mong đợi ra khỏi hộp, mà không có giờ chi tiêu của người dùng cho các lỗi không xác định và sau đó cuối cùng tìm kiếm trên web để sửa chữa. –

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