从Android Studio与Gradlew一起运行时,仪器单元测试的结果不同



我在当前的项目中遇到了一件奇怪的事情。如果我从Android Studio运行所有仪器单元测试,则没有一个失败。但是,如果我使用gradlew运行它们,则有许多失败的测试。原因范围从Junit断言到Mockito验证错误(例如,"预期4次,但为3")。

我在Android Studio中运行测试的方式是右键单击AndroidTest文件夹,然后选择" X.Y.Z中的运行测试"。

我从命令行运行测试的方式是:

./gradlew clean app:connectedDebugAndroidTest

为什么这两个结果不同?是什么原因?我该如何修复?

我遇到了这个问题,Gradlew和Android Studio的测试结果不同。我的情况是,这是由 race条件在类中与我测试的数据一起使用的。

通过检查我的代码中的关键部分并添加 recentrant锁来解决此问题。希望我的答案可以帮助您。

最新更新