tmt*_*ark 7 android unit-testing android-studio
我正在尝试在单元测试和仪器测试之间共享一些代码.我在build.gradle中实现了类似下面的内容:
sourceSets {
String sharedTestDir = 'src/sharedTest/java'
test {
java.srcDir sharedTestDir
}
androidTest {
java.srcDir sharedTestDir
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎适用于普通代码.但是,从注释生成的代码似乎只会在Android Studio中产生问题.(代码运行正常,但它在Android Studio中产生红色波形)基本上,Android Studio似乎无法找到生成在src/sharedTest中的代码的生成类 - 即使实际构建很好.
如果它有用,生成的类来自Dagger(因为我在两种类型的测试之间共享一个组件/模块).我有一个自定义的Application对象,它位于sharedTest中,这是我注意到Android Studio错误的地方:
createApplicationComponent() {
return DaggerMockApplicationComponent.create();
}
Run Code Online (Sandbox Code Playgroud)
我还在test和androidTest中添加了apt命令:
dependencies {
testApt 'com.google.dagger:dagger-compiler:2.7'
androidTestApt 'com.google.dagger:dagger-compiler:2.7'
}
Run Code Online (Sandbox Code Playgroud)
我在这里对源集的理解中显然遗漏了一些东西.有没有更简洁的方法来共享测试和androidTest之间的代码?有没有办法让Android Studio看到这个生成的代码?或者,最糟糕的情况是,我可以让Android Studio至少更容易忽略此错误吗?
| 归档时间: |
|
| 查看次数: |
294 次 |
| 最近记录: |