bph*_*bph 7 eclipse android unit-testing android-studio
我已经将一个eclipse项目导入android studio
不知何故,它发现我的另一个eclipse项目包含导入项目的单元测试代码
它引入了代码并将其放在src/androidTest目录中
我真的不希望它这样做,但他们现在在那里并导致构建失败
有没有办法关闭androidTest的东西?所以我可以专注于应用程序是否真正构建?
也许它通过gradle设置?(这是我第一次接触gradle)
也许我只需要删除所有的androidTest java文件,但这似乎有点最后..
将此代码放入您的应用程序的 gradle 脚本中:
tasks.whenTaskAdded { task ->
if (task.name.equals("lint")) {
//this is for speed up build
task.enabled = false
}
if(task.name.contains("Test"))
{
//this is what you need
task.enabled = false
}
}
Run Code Online (Sandbox Code Playgroud)
当 gradle 添加一个任务时,这段代码会检查任务名称。如果此任务是“lint”(检查此处),则不需要每次构建。如果此任务有“任务”字样,我们可以跳过。
:app:preDebugAndroidTestBuild SKIPPED
:app:compileDebugAndroidTestAidl SKIPPED
:app:processDebugAndroidTestManifest SKIPPED
:app:compileDebugAndroidTestRenderscript SKIPPED
:app:generateDebugAndroidTestBuildConfig SKIPPED
:app:generateDebugAndroidTestResValues SKIPPED
:app:generateDebugAndroidTestResources SKIPPED
:app:mergeDebugAndroidTestResources SKIPPED
:app:splitsDiscoveryTaskDebugAndroidTest SKIPPED
:app:processDebugAndroidTestResources SKIPPED
:app:generateDebugAndroidTestSources SKIPPED
Run Code Online (Sandbox Code Playgroud)
我不知道这些任务是什么。但是,当我跳过我的项目时,除了速度(没有太大影响,因为我没有测试文件)之外没有任何影响,这对 gradle 构建系统来说是一个痛苦。
我希望,这会帮助你。
有人可能会发现这很有用:如果您正在使用JUnit
有一个@Ignore
命令,您可以放置一个测试方法来忽略整个测试方法。
例子:
@Ignore("This test will be ignored")
@Test
public void my_test_method() {
// test code here...
}
Run Code Online (Sandbox Code Playgroud)
在Android Studio中重建项目后,将重新编译项目中的所有源文件.:compileDebugAndroidTestJavaWithJavac
一旦您的仪器测试无法编译,许多不同的任务就会开始,包括导致构建中断的任务.
在Android Studio中调用重建只是用于将这些任务传递给gradle的UI:
Gradle任务[:app:generateDebugSources,:app:generateDebugAndroidTestSources,:app:prepareDebugUnitTestDependencies,:app:mockableAndroidJar,:app:compileDebugSources,:app:compileDebugAndroidTestSources,:app:compileDebugUnitTestSources]
也就是说,如何修改它没有明显的方法.
解决方法:
我希望,这有帮助.
归档时间: |
|
查看次数: |
11437 次 |
最近记录: |