我为Android(Cordova)项目编写了许多JUnit测试,到目前为止,我已经能够从gradle命令行和Android Studio中运行它们(1.2.2) )。
当我添加一些加载属性文件的代码(使用this.getClass().getClassLoader().getResourceAsStream()
)时,代码在Android设备上工作,测试仍然从gradle命令行运行,getResourceAsStream()在运行时返回null在Android Studio中进行测试。
有没有人成功地以这种方式加载属性文件,然后在Android Studio中测试它们?
cordova项目的gradle配置包含此设置以设置测试源集:
subprojects {
if (project.hasProperty("android")) {
android.sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
test {
java.srcDir file('test')
resources.srcDir file('test')
}
}
}
我意识到在单元测试中加载属性文件不是最佳实践,但由于该项目的性质,我想使用属性文件而不是模拟值。