Reputation: 13551
Update: Its a bug and it's been reported, please star: https://code.google.com/p/android/issues/detail?id=209832&thanks=209832&ts=1463161330
I'm setting up unit testing on Android studio.
I have read the documentation and set it up exactly as specified. I have my test folder set up as src/test/java
I've made a random test class:
import org.junit.Test;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
public class RandomTestClass
{
@Test
public void testTest()
{
assertThat(4, is(4));
}
}
However when I go to run my test I get:
error: package org.junit does not exist
I've set up my gradle EXACTLY as descibed in the docs:
dependencies {
// Required -- JUnit 4 framework
testCompile 'junit:junit:4.12'
// Optional -- Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19'
}
The few other questions with this issue seemed to say these dependencies are missing. I have them.
Can you think of any reason my Local Unit Tests are not finding the junit file when I go to run the test?
Note It's able to find the junit classes when Im writing the code. It only can't find junit when I run the test.
Upvotes: 24
Views: 30539
Reputation: 51
add this dependency to solve your issue
testCompile 'junit:junit:4.12'
compile 'junit:junit:4.12'
Upvotes: 5
Reputation: 535
Try to change the Build Variant to debug
.
View -> Tool Windows -> Build Variants
UPD: This actually may be the cause, when all gradle
dependencies are met, but org.junit.Test
still not found. At least it was a cause for me. It was not working in 'release' build type, but was working in 'debug'.
Upvotes: 0
Reputation: 19
Download (junit-4.12.jar) from
https://github.com/junit-team/junit4/wiki/Download-and-Install
and copy it in your libs folder:(yourProjectFolder/app/libs
)
and then in build.gradle(Module: app
) use this codes:
dependencies {
...
compile files('libs/junit-4.12.jar')
...
}
then rebuild your project.
Upvotes: -1
Reputation: 2766
My tests are in src/test/java
folder and adding test.setRoot('test')
to sourceSets
worked for me.
sourceSets {
test.setRoot('test')
}
Upvotes: 2
Reputation: 556
I changed TestCompile to androidTestCompile and it's worked without problems.
testCompile 'junit:junit:4.12'
to
androidTestCompile 'junit:junit:4.12'
Upvotes: 31
Reputation: 113
Some things you should check -
Upvotes: 2
Reputation: 13551
It looks like Gradle is not doing it's job.
Manually adding the jars fixed the problem.
Upvotes: 2