在Java项目中,我遵循gradle docs将每种测试类型的源文件分开,所以我想在Android库项目中做同样的事情。默认情况下,Android插件com.android.library
支持两种类型的测试目录test
和androidTest
。如何添加要在integTest
之后运行的test
?
sourceSets {
integTest {
java.srcDir file('src/integTest/java')
resources.srcDir file('src/integTest/resources')
}
}
当我尝试将以上sourceSet
添加到build.gradle
时,出现错误
错误:Android无法识别SourceSet'integTest' Gradle插件。也许您拼错了什么?
由于Android Gradle插件不像Java插件那样支持自定义sourceSets
,还有其他方法可以解决此问题吗?
答案 0 :(得分:0)
错误的主要原因是在onPageChanged(idx) {
if (idx == 2) {
//deriving ID+1
const newPages = this.state.pages.map(i => (parseInt(i)+1).toString())
this.setState({pages: newPages, key: ((this.state.key+1)%2) })
} else if (idx == 0) {
//deriving ID-1
const newPages = this.state.pages.map(i => (parseInt(i)-1).toString())
this.setState({pages: newPages, key: ((this.state.key+1)%2) })
}
}
render() {
return (
<Swiper
index={1}
key={this.state.key}
style={styles.wrapper}
loop={false}
showsPagination={false}
onIndexChanged={(index) => this.onPageChanged(index)}>
{this.state.pages.map((item, idx) => this.renderItem(item, idx))}
</Swiper>
);
}
内为sourceSet
定义了integTest
,只需将其移到外部即可解决此问题。请参见下面的正确android
build.gradle