无法解析符号断言

时间:2017-08-09 09:32:40

标签: android android-testing

我的build.gradle文件

中有以下依赖项
 testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.9.5'

我的测试类EmailValidatorTest具有以下代码

  @Test
public void emailValidator_simpleEmail_returnsTrue(){

   assertThat(EmailValidator.isValidEmail("name@ex.com"),is(true))
}

但我得到的错误为Cannot resolve symbol assertThat。我只获得了assert个对象。我正在处理Android Developers i的样本,e:https://github.com/googlesamples/android-testing/tree/master/unit/BasicSample

2 个答案:

答案 0 :(得分:3)

确保您已导入 assertThat

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

import static org.hamcrest.MatcherAssert.assertThat;

然后清理 - 重建 - 运行

答案 1 :(得分:0)

我有同样的问题。以下是对我有用的东西:

在app / build.gradle中:

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

在EmailValidatorTest类中:

import com.google.common.truth.Truth;

以及在emailValidator_simpleEmail_returnsTrue()方法内部:

Truth.assertThat(EmailValidator.isValidEmail("name@ex.com"),is(true))

看,您不会直接导入“ assertThat”,与教程中所说的相反。

Here an example.