Android Studio - with Junit 4.12 “!!! JUnit versio

2019-02-16 07:14发布

问题:

Tried out the suggestions on this post, but I still get the error:

!!! JUnit version 3.8 or later expected:

java.lang.RuntimeException: Stub!
    at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
    at junit.textui.TestRunner.<init>(TestRunner.java:54)
    at junit.textui.TestRunner.<init>(TestRunner.java:48)
    at junit.textui.TestRunner.<init>(TestRunner.java:41)

Process finished with exit code -3

Not sure what to do from here. Tried reorganizing the order of the Junit dependency. No luck, anyone else get this issue?

Android Studio V. 1.2.1.1

回答1:

Solved the issue. I was running the JUnit tests as a standard "JUnit test" in Android Studio. I fixed the issue by resetting the configuration as a Android Test.



回答2:

I solve this problem by moving "testCompile 'junit:junit:4.12'" to the first order in build.gradle dependency block



回答3:

Running into this when opening an old project into latest Android Studio 2.3 after it auto-updated the project.

Android Studio supports "Android JUnit" tests which should run using the current host JRE and properly support JUnit 4+. The error is due to the wrong JRE being used.

Solved by using Edit Configuration > select the Android JUnit configuration > edit the JRE. Select any choice, use Apply, then change it back to "Default (Android Platform)" for it work.



回答4:

In my case I just forgot that I've changed the build variant to "release". Switching back to "debug" fixed everything. FML.



回答5:

The below fix is a work around and a repetitive task you need to perform on every new class that you create. I have used Gradle for my project on Android Studio.

Step 1: Go to Run-> Edit Configurations Option

Step 2: For each JUnit test configuration, change and add the below into the fields: a) JRE: Default is selected. Change it to the JRE version you have on your PC which you get as an option in the drop-down. As of today, its 1.8 b) Before launch field: Click on '+', select your module and add task as "clean compileTestJava". Move it to top in the list JUnit test configuration

Step 3: Apply Changes and now run your java class.



回答6:

Running an "Android JUNit" config and having JUnit 4.12 in gradle did not help to resolve this.

I needed to select JRE to Android API 27 Platform in the run config manually instead of "Default" to resolve the issue.



回答7:

I was having the same error and I fixed it by updating JRE value under "Edit Configurations..." in Android Studio, I used API 28 instead and then it worked. Please check the image for your reference...



回答8:

I was also getting similar error when I added new project to workspace. May be they(new Project) would have upgraded Junit version or manadated that project should always use specific version.

In this cases, I closed project(all) along with original workspace and opened in new one.



回答9:

I've managed to solve it with simply editing the project's app.iml and moving order entry after from bottom:

<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />



回答10:

To solve this issue, I set "JRE" to "1.8". This is Under "Edit Configurations"