我的android项目中有一些测试并配置了CI 在部署测试之前,使用gradle包装器启动测试(4.10.3) 95%的测试是robolectric测试
并且有些情况下,由于不同的原因,这些测试没有通过,但问题是,当我从android工作室运行它们GUI测试工作正常(传递)。
例如我使用mockito进行模拟和mock-maker-inline,我在核心模块中使用这个MockMaker,用于所有其他模块,如果我从android studio启动测试 - 他们正在传递,如果我使用gradle包装器启动 - 他们是一切都失败了。它可以通过在模块中添加MockMaker来解决,我有测试,但仍然为什么它在Android工作室工作,但不能从控制台工作?
我从位置模块中移除模拟制造商的情况(取决于启用模拟制造商的核心模块)所有测试都归档此错误
但是,当我运行Android工作室测试正在通过,一切都很好。
这两次发布有什么区别?(android studio和gradlew testDebug的默认启动类型)。 有没有办法将我的自定义gradle测试任务与android studio测试gui连接?
GUI和终端之间运行的最大区别在于,如果在gradle.properties中启用了GUI,则Gradle包装器将同时执行不同模块的测试:
org.gradle.parallel=true
如果您在不同模块中对相同的单例或相同的模拟进行测试,则可能会遇到任意数量的冲突。