【发布时间】:2019-04-02 12:28:38
【问题描述】:
我有在我的项目中使用 mockito 和 powerMockito 的本地测试。其中大约有300个。 当我从 Android Studio(运行 -> 运行测试配置)运行它们时,它们都通过了。 但是我们的 CI 系统使用 gradle 任务 testDebugUnitTest 启动它,其中大约 90 个失败并出现不同的错误。
问题是:这些机制有什么区别?
【问题讨论】:
-
这真的很广泛,因为它取决于测试做什么,他们对环境的期望,他们如何失败等等。它可能是一些具有相对路径的文件,它可能是环境变量,差异在 OS-es 之间,它可能是 JDK 的差异,你可以命名它......确实没有提供足够的信息来得出一个理智的结论。您必须自行调查并找出存在哪些差异(可能是工具中的错误)。如果您可以提供我们可以用来重现您的场景的准确信息,那么我们可以进行调查。否则我们无法猜测。
-
嗯,问题实际上是:当我在 android studio 中单击“运行”的绿色按钮时会发生什么? Gradle 运行了吗?要不然是啥?我不想修复这 90 个测试,这是另一回事。
-
如果你从 Gradle 运行,你可以保证它可以工作。根据我的经验,从 Android Studio 运行无法重新构建测试,并且要么使用来自
./gradlew test的缓存测试,要么说找不到测试套件。这可能会在以后的版本中修复 -
你找出问题所在了吗?
标签: android-studio android-gradle-plugin mockito powermock