2016-03-27 9 views
1

in build.gradleAndroid JUnit Testing, kann nicht aufgelöst werden (boolean) in assertThat?

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

-Code

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)); 
    } 
} 

In LVActivity:

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

Der Fehler ist hier:

is(true) 

Fehler:

Cannot resolve method is(boolean) 

Ich versuche, einen einfachen lokalen Einheitstest zu machen.

Ich verfolge dieses Tutorial http://developer.android.com/training/testing/unit-testing/local-unit-tests.html

+0

Sie statischen Import benötigen von 'Matchers.is' oder vollständig um den Anruf qualifizieren Sie sagen wollen Verwenden Sie die Methode 'is' aus der Klasse' Matchers'. – kryger

+0

diese Frage gespeichert meine Zeit..dank –

Antwort

6

Sie nicht lieber nur sagen:

import static org.junit.Assert.*; 

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

Dies ist ein natürlicher Ausdruck für einen boolean überprüfen.

Aber wenn Sie die is Matcher mit assertThat verwenden müssen, werden Sie diese importieren müssen:

import static org.hamcrest.CoreMatchers.*; 
+0

Ok, sie beide arbeiten! Danke für Ihre Hilfe. – Adz