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
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à testDebug
và testRelease
)? 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ụ.
Đ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.
khác cho trước nhiệm vụ gradle tham khảo here
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
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). –
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
- 1. Chạy thử nghiệm đơn vị trước khi đăng ký
- 2. VS2012 không chạy thử nghiệm đơn vị
- 3. Xây dựng và chạy thử nghiệm đơn vị C++ trong Visual Studio (TDD)
- 4. Chạy thử nghiệm đơn vị trên Team Foundation Server (TFS) xây dựng
- 5. Dự án thử nghiệm đơn vị không xây dựng từ máy chủ xây dựng
- 6. Thử nghiệm Đơn vị Android
- 7. Xây dựng dự án Maven mà không cần chạy thử nghiệm đơn vị
- 8. Nondeterminism trong thử nghiệm đơn vị
- 9. Chạy thử nghiệm đơn vị Tensorflow
- 10. rake không chạy thử nghiệm đơn vị
- 11. Visual Studio 2012 RC - Chạy thử nghiệm đơn vị sau khi xây dựng - Xác định các loại thử nghiệm để chạy
- 12. Vấn đề chạy thử nghiệm đơn vị trong Visual Studio
- 13. chạy tất cả các thử nghiệm đơn vị zend framework2
- 14. automake: tự động chạy thử nghiệm đơn vị
- 15. Đơn vị thử nghiệm chậm với Cobertura
- 16. Chạy thử nghiệm đơn vị Ruby với Rake
- 17. Thử nghiệm đơn vị sơ bộ
- 18. Icefaces thử nghiệm đơn vị
- 19. Cách nhận Directory trong khi chạy thử nghiệm đơn vị
- 20. Chạy thử nghiệm đơn vị JavaScript bên trong Visual Studio
- 21. Thử nghiệm đơn vị sau khi thử nghiệm
- 22. Làm thế nào để chỉ chạy thử nghiệm đơn vị một lần khi chạy "cài đặt sạch maven" và Sonar?
- 23. Làm cách nào để lấy tên phương thức thử nghiệm đơn vị khi chạy trong thử nghiệm đơn vị?
- 24. Không thể chạy kiểm tra đơn vị trong Xcode 8 với cấu hình thử nghiệm đơn vị trước đó
- 25. Android Studio cần phải xây dựng lại dự án trước mỗi lần chạy
- 26. mùi thử nghiệm đơn vị
- 27. Chạy thử nghiệm JUnit4 đơn trong Eclipse với Maven
- 28. Thử nghiệm đơn vị gradle ở đâu cho công cụ ứng dụng Google mong đợi persistence.xml?
- 29. Thử nghiệm đơn vị trong CakePHP?
- 30. Chỉ chạy thử nghiệm một đơn vị từ một bộ thử nghiệm trong laravel
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