Android Studio - with Junit 4.12 “!!! JUnit version 3.8 or later expected:”

JavaAndroidAndroid StudioJunit

Java Problem Overview


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

Java Solutions


Solution 1 - Java

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.

Solution 2 - Java

Just to add one more situation. I was having this error after updating Android Studio to 4.1 on a project using old AGP (3.3.2) and Gradle (4.10.2). What ended up solving the issue for me was removing the android.test.runner library from gradle dependencies, that is removing the following line from the app's module build.gradle:

useLibrary 'android.test.runner'

I probably got lucky to not actually need any of the classes provided by the library for unit or instrumented tests.

Solution 3 - Java

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

Solution 4 - Java

If you have updated android studio version to 4.1 wiuth latest gradle plygin. Please comment out

// useLibrary 'android.test.runner' It will fix error for you.

Solution 5 - Java

This is apparently an Android Studio 4.1 issue. There's an open ticket for that already: https://issuetracker.google.com/issues/170328018

What really solved the issue for me was reinstalling the Android 11 (API 30) SDK, according to the bug ticket above:

> "...there was an issue with API 30 mock jar that was built > incorrectly. Can you open Android Studio SDK Manager and try > uninstalling the R SDK or any Android SDK Platform 30 please? The > Gradle build will auto install it when you try to rebuild after you > delete the R SDK."

Solution 6 - Java

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.

Solution 7 - Java

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.

Solution 8 - Java

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

Solution 9 - Java

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...

enter image description here

Solution 10 - Java

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

Solution 11 - Java

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.

Solution 12 - Java

I had to update a Gradle settings file according to these instructions. I just added the line

testImplementation 'junit:junit:4.12'

to the dependencies block of my app's build.gradle file. If you check the "Project" tab in Android studio (where you can see your source code files) there should be a "Gradle Scripts" section. Look for the build.gradle file named after your package and add that line to the dependencies block, then click the "Sync now" prompt that should come up.

Solution 13 - Java

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.

Solution 14 - Java

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" />

Solution 15 - Java

In my case, the problem was the import, it should be :

import org.junit.Assert.assertEquals

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTimothy FrischView Question on Stackoverflow
Solution 1 - JavaTimothy FrischView Answer on Stackoverflow
Solution 2 - JavaianribasView Answer on Stackoverflow
Solution 3 - Javauser3278144View Answer on Stackoverflow
Solution 4 - JavaDJDeveloperView Answer on Stackoverflow
Solution 5 - JavaHenriqueView Answer on Stackoverflow
Solution 6 - JavaralfoideView Answer on Stackoverflow
Solution 7 - JavaSwati SinghView Answer on Stackoverflow
Solution 8 - JavaprijupaulView Answer on Stackoverflow
Solution 9 - JavaAlejandro CasanovaView Answer on Stackoverflow
Solution 10 - JavaWindRiderView Answer on Stackoverflow
Solution 11 - JavaluboszView Answer on Stackoverflow
Solution 12 - JavaJack MView Answer on Stackoverflow
Solution 13 - JavaNaveen SinghView Answer on Stackoverflow
Solution 14 - JavaWaqar UlHaqView Answer on Stackoverflow
Solution 15 - JavaHassanAli NiknamView Answer on Stackoverflow