2016-02-07 21 views
10

Làm cách nào tôi có thể định cấu hình build.gradle trong một dự án Android để chạy tất cả các thử nghiệm đơn vị của tôi trước mỗi bản sửa lỗi hoặc bản phát hành? Tôi biết rằng tôi có thể thiết lập các phụ thuộc nhiệm vụ với dependsOn, nhưng làm thế nào tôi có thể xác định nó cho nhiệm vụ kiểm thử đơn vị? Tôi muốn làm điều này cho mỗi mô-đun (Android và Java thuần túy) của dự án của tôi, có thể không?Chạy thử nghiệm đơn vị trước mỗi lần xây dựng trong Gradle

Trả lời

10

Bạn có nhiệm vụ đặc biệt để chỉ chạy thử nghiệm đơn vị không? Hoặc bạn có thể tự do chạy nó đơn giản test (hoặc thường là testDebugtestRelease)? Giả sử bạn muốn chạy testDebug hoặc testRelease mỗi lần bạn gọi assembleDebug hoặc assembleRelease tác vụ. Sau đó, bạn có thể, như bạn đã lưu ý, sử dụng thuộc tính tác vụ dependsOn. Ví dụ: theo cách này:

assembleDebug.dependsOn testDebug 
assembleRelease.dependsOn testRelease 

Cấu hình này phải được thêm vào mỗi tập lệnh build.gradle (trong mọi mô-đun của dự án), nơi bạn cần. Nếu bạn có một số thử nghiệm tasksm bạn có thể đặt nhiệm vụ phụ thuộc theo cách này:

tasks.assembleRelease.dependsOn { 
    project.tasks.findAll { task -> 
     task.name.startsWith('testRelease') 
    } 
} 

Chắc chắn, bạn có thể cố gắng thiết lập này phụ thuộc của các gốc build.gradle kịch bản gốc, bằng cách sử dụng allprojects hoặc subprojects (bạn có thể đọc về nó here), nhưng bạn phải áp dụng android plugin trong tập lệnh gốc, nếu không sẽ không tìm thấy tác vụ.

+2

Tôi có một dự án với cả Android và các module Java đơn giản. Bây giờ tôi chỉ có các bài kiểm tra JUnit đơn giản. Trong các mô-đun Java đơn giản của tôi, mọi thứ dường như hoạt động tốt với 'jar.dependsOn test' ở cuối tệp gradle (nếu một kiểm tra không thành công, việc xây dựng dừng lại). Trong các mô-đun Android của tôi, với 'assembleDebug.dependsOn testDebug' tôi nhận được lỗi 'Không thể tìm thấy thuộc tính' testDebug 'trên BuildType_Decorated'. Tôi nên đặt dòng này ở đâu? Cảm ơn! – manfcas

1

Đi tới Cấu hình chạy/gỡ lỗi và chọn cấu hình ứng dụng của bạn. Ở dưới cùng của bảng điều khiển bên phải, trong Trước khi khởi chạy :, nhấp vào nút + và chọn Chạy cấu hình khác. Ở đó, chọn cấu hình để chạy thử nghiệm của bạn.

Trước khi khởi chạy, hãy đặt lệnh test case của bạn để chạy chúng. enter image description here

enter image description here

khác cho trước nhiệm vụ gradle tham khảo here

+0

Cảm ơn, tôi không biết về tùy chọn này! Theo cách này, cấu hình không được bao gồm trong các tệp 'build.gradle' và do đó không được chia sẻ thông qua VCS. Tôi muốn nó được chia sẻ với tất cả các nhóm của tôi. – manfcas

+0

Bạn có thể cập nhật các bước trong tệp README.md của mình để bạn có thể xuất cài đặt IDE và chia sẻ với nhóm của mình (tệp> cài đặt xuất). –

+0

Ok, nhưng tôi vẫn gặp vấn đề tương tự nếu tôi xây dựng trên máy chủ CI. – manfcas

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