如何解决Robolectric-封装目标SdkVersion = 30> maxSdkVersion = 29
错误:
java.lang.IllegalArgumentException:无法配置: 包targetSdkVersion = 30> maxSdkVersion = 29
在 org.robolectric.RobolectricTestRunner.getChildren(RobolectricTestRunner.java:247) 在 org.junit.runners.ParentRunner.getFilteredChildren(ParentRunner.java:534) 在 org.junit.runners.ParentRunner.getDescription(ParentRunner.java:400) 在 androidx.test.ext.junit.runners.AndroidJUnit4.getDescription(AndroidJUnit4.java:149) 在 org.junit.runners.model.RunnerBuilder.configureRunner(RunnerBuilder.java:81) 在 org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:72) 在 org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37) 在 org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) 在 org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28) 在 org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19) 在 com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50) 在 com.intellij.rt.junit.IdeaTestRunner $ Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) 在 com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220) 在com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53) 引起原因:java.lang.IllegalArgumentException:包 targetSdkVersion = 30> maxSdkVersion = 29 at org.robolectric.plugins.DefaultSdkPicker.configuredSdks(DefaultSdkPicker.java:118) 在 org.robolectric.plugins.DefaultSdkPicker.selectSdks(DefaultSdkPicker.java:69) 在 org.robolectric.RobolectricTestRunner.getChildren(RobolectricTestRunner.java:213) ...还有13个
如何解决此问题?
解决方法
发现此post时存在相同的问题,但错误消息有所不同。
This answer帮助我解决了这个问题。
在此处发布相同内容。
在robolectric.properties
目录中使用以下行创建一个app/src/test/resources
文件:
sdk=29
这将强制Robolectric使用API 29而不是30。
注意::Robolectric现在最多支持SDK 29。
,您还可以使用Config
注释限制测试目标SDK。这使您可以为不同的测试考虑不同的配置,或者避免创建额外的配置文件。
@Config(sdk = [29])
class Test {
// ...
}
,
以上两个答案都很好,但最新版本的 robolectric 支持 android sdk 30。
因此只需升级 robolectric 依赖项即可解决问题。
在撰写本文时,最新版本为 4.5.1。
有关最新版本的更多信息,请参阅官方 github 网站。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。