Android JUnit 测试,无法解析 assertThat 中的 is(boolean)?

Android JUnit Testing, cannot resolve is(boolean) in assertThat?

在build.gradle

dependencies {    
    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:1.10.19'
}

代码

import com.myapp.LVActivity;
import org.junit.Test;
import static org.junit.Assert.*;

public class DeviceUnitTest {
    @Test
    public void check_that_is_correct_device_name_isTrue() {
        assertThat(LVActivity.isCorrectDevice("MySpecialDevice"), is(true));
    }
}

在 LVActivity 中:

private final static String correctName = "MySpecialDevice";
public static boolean isCorrectDevice(String deviceName) {
    return deviceName.equals(correctName);
}

错误在这里:

is(true)

错误:

Cannot resolve method is(boolean)

我正在尝试做一个简单的本地单元测试。

我正在学习本教程http://developer.android.com/training/testing/unit-testing/local-unit-tests.html

你不想说:

import static org.junit.Assert.*;

assertTrue(LVActivity.isCorrectDevice("MySpecialDevice"));

这是检查布尔值的更自然的表达式。

但是如果您需要将 is 匹配器与 assertThat 一起使用,您将需要此导入:

import static org.hamcrest.CoreMatchers.*;