मैं अपने एंड्रॉइड प्रोजेक्ट के लिए दो (या एकाधिक) परीक्षण कार्यों में सक्षम होना चाहता हूं, जहां अंतर जुनाइट श्रेणियों का एक अलग सेट शामिल/बहिष्कृत करना है।एंड्रॉइड यूनिट का मूल्यांकन
Gradle जावा प्लगइन का उपयोग करना, मैं
task testFast(type: Test) {
useJUnit {
includeCategories 'foo.Fast'
excludeCategories 'foo.Slow'
}
}
task testSlow(type: Test) {
useJUnit {
includeCategories 'foo.Slow'
excludeCategories 'foo.Fast'
}
}
हालांकि तरह कुछ कर सकते हैं, अगर एंड्रॉयड प्लगइन का उपयोग कर, मैं एंड्रॉयड बंद होने testOptions जोड़ने के लिए शामिल करने के लिए, बाहर/है
android {
...
testOptions {
unitTests.all {
useJUnit {
excludeCategories foo.Slow'
}
}
}
...
}
लेकिन बेशक यह सभी निर्माण प्रकारों के लिए सभी परीक्षण कार्यों पर लागू होता है।
क्या एक ही निर्माण संस्करण का उपयोग करने वाले कार्यों को बनाने का कोई तरीका है, लेकिन विभिन्न श्रेणियों पर परीक्षण निष्पादित करें?
testOptions {
unitTests.all {
useJUnit {
if (project.hasProperty('testCategory') && testCategory == "Slow") {
includeCategories 'foo.Slow'
} else {
excludeCategories 'foo.Slow'
}
}
}
}
और प्रयोग
gradlew -PtestCategory=Slow test