当我在更改一些代码后运行我的测试时,在重新运行测试时仍然使用代码的先前状态.
Running tests Test running started java.lang.NoSuchMethodError: com.example.app.support.ConfiguredWebViewClient.at com.example.app.support.ConfiguredWebViewClientTest.testOverrideUrlLoading(ConfiguredWebViewClientTest.java:7) at java.lang.reflect.Method.invokeNative(Native Method) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661) Finish
上面的NoSuchMethodError的问题是没有testOverrideUrLoading名称的方法.它被不同的方法所取代.这意味着Android Studio会以某种方式挂在旧类文件上.
没有效果的事情:
使缓存无效并重新启动
清理构建(在Android Studio中)
重建(在Android Studio中)
当我执行运行时./gradlew connectedInstrumentTest
,测试成功运行,问题在Android Studio中解决.
我想知道在IDE中工作时如何强制这种行为.