Dự án của tôi có 2 nhóm kiểm tra khác nhau. Một nhóm chỉ chạy với mặc định AndroidJUnitRunner
thiết bị khác phải được chạy với triển khai tùy chỉnh .Làm thế nào để chuyển đổi/thay đổi testInstrumentationRunner động với gradle
Hiện nay tôi chuyển testInstrumentationRunner
bằng cách chỉnh sửa mỗi khi tôi cần phải chạy nhóm khác kiểm tra các build.gradle
:
android{
defaultConfig {
//testInstrumentationRunner "my.custom.TestRunner"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
Tôi biết rằng hương vị có thể có riêng testInstrumentationRunner
nhưng ứng dụng hiện tại của tôi đã có 2 flavourDimensions
của họ. Sử dụng hương vị thực sự có ý định có các phiên bản ứng dụng khác nhau. Tôi cần 2 phiên bản của ứng dụng thử nghiệm, cả hai đều kiểm tra cùng một ứng dụng với testInstrumentationRunner
s khác nhau.
Tôi đã cố gắng thay đổi testInstrumentationRunner
bằng cách lặp qua tất cả các biến thể thử nghiệm. Thực tế, có nhiều testInstrumentationRunner
tính:
android.testVariants.all { TestVariant variant ->
//readonly
variant.variantData.variantConfiguration.instrumentationRunner
variant.variantData.variantConfiguration.defaultConfig.testInstrumentationRunner
}
Nhưng càng sớm càng android.testVariants
được gọi là xây dựng được cấu hình và tất cả những thay đổi không được phản ánh trong việc xây dựng.
Làm cách nào để thay đổi testInstrumentationRunner (từ plugin bổ túc) động?
Tôi muốn có 2 tác vụ gradle khác nhau, mỗi tác vụ sử dụng một khác nhau testInstrumentationRunner
nhưng thử nghiệm cùng một biến thể. Bởi vì tôi có ý định tạo một plugin gradle nên giải pháp cũng sẽ hoạt động như một plugin.
Plugin android sau đó đã được định cấu hình và sử dụng testInstrumentationRunner từ giai đoạn cấu hình. – thaussma