abh*_*erg 4 ant testing android automated-tests gradle
所以在古代,当你想在Android上做测试时,你曾经做过一个新的测试项目,如:
RealProject
|-- AndroidManifest.xml
|-- src
| |-- com
| | |-- example
| | | |-- Foo.java
`-- tests
`-- AndroidManifest
`-- src
`-- com
`-- example
`-- Foo.java
Run Code Online (Sandbox Code Playgroud)
这意味着测试是在一个生活在某个地方的项目中,按照约定在tests文件夹中.
在新的构建系统中,如果要从现有的android项目迁移(并且必须支持使用Eclipse并因此使用ant的开发人员),新构建系统用户指南建议您添加以下内容,以便维护项目结构从旧版本.
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']
}
instrumentTest.setRoot('tests')
}
}
Run Code Online (Sandbox Code Playgroud)
在您尝试编写测试之前,这一切都很好.鉴于上述结构,您打算进行测试
RealProject
`-- tests
`-- java
`-- com
`-- example
`-- FooTest.java
Run Code Online (Sandbox Code Playgroud)
两者之间的区别是,摇篮预计子目录tests是java,但蚂蚁希望它是src.
那么如何将这两个系统合并在一起呢?我们的目标是,我可以从运行单元测试,无论是摇篮或蚂蚁.Gradle似乎应该比蚂蚁测试系统更灵活,但我尝试在sourceSets中放置的东西的组合似乎没有效果.它几乎看起来像instrumentTest不是一个普通的sourceSet或类似的东西.我试过了:
tests/java到tests/srcinstrumentTest { java.srcDirs = ['src'] }尝试*.srcDirs从主sourceSet示例中我可以创建的每个组合一样.做这个:
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']
}
instrumentTest {
java.srcDirs = ['tests/src']
resources.srcDirs = ['tests/src']
aidl.srcDirs = ['tests/src']
renderscript.srcDirs = ['tests/src']
res.srcDirs = ['tests/res']
assets.srcDirs = ['tests/assets']
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后放下你的测试清单tests/.Gradle将忽略它,但Ant/ADT可以使用它.
创建tests/project.properties并将测试项目指向../
在Eclipse中,您可以打开另一个项目,这应该不是问题.
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |