Android
Android

Reputation: 542

Cannot resolve symbol assertThat

I have the following dependencies in my build.gradle file

 testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.9.5'

And my test class EmailValidatorTest has the following code

  @Test
public void emailValidator_simpleEmail_returnsTrue(){

   assertThat(EmailValidator.isValidEmail("[email protected]"),is(true))
}

But i get the error as Cannot resolve symbol assertThat. I get only assert object .I'm currently working on a sample from Android Developers i,e : https://github.com/googlesamples/android-testing/tree/master/unit/BasicSample.

Upvotes: 6

Views: 17113

Answers (2)

Bruno Santos
Bruno Santos

Reputation: 326

I had the same problem. Here follows what worked to me:

At app/build.gradle:

testImplementation 'com.google.truth:truth:0.43'

At EmailValidatorTest class:

import com.google.common.truth.Truth;

and inside emailValidator_simpleEmail_returnsTrue() method:

Truth.assertThat(EmailValidator.isValidEmail("[email protected]"),is(true))

See, you don't import 'assertThat' directily, oposite to what is said in the tutorial.

Here an example.

Upvotes: 3

IntelliJ Amiya
IntelliJ Amiya

Reputation: 75788

Make sure you imported assertThat.

public static <T> void assertThat(T actual,
                                  org.hamcrest.Matcher<T> matcher)

import static org.hamcrest.MatcherAssert.assertThat;

Then Clean-Rebuild-Run .

Upvotes: 10

Related Questions