Hamcrest - Wie wird der Nullwert überprüft?
Versuchen Sie, den Nullwert mit der BehauptungHamcrestassertThat
zu überprüfen, aber keine Ahnung, wie?
@Test public void testApp() { //ambiguous method call? assertThat(null, is(null)); }
1. Lösung
1.1 To check null value, try is(nullValue)
, remember static import org.hamcrest.CoreMatchers.*
//hello static import, nullValue here import static org.hamcrest.CoreMatchers.*; import org.junit.Test; //... @Test public void testApp() { //true, check null assertThat(null, is(nullValue())); //true, check not null assertThat("a", is(notNullValue())); }
1.2 Or this equivalent
import static org.hamcrest.CoreMatchers.*; import org.hamcrest.core.IsNull; import org.junit.Test; //... @Test public void testApp() { //true, check null assertThat(null, is(IsNull.nullValue())); //true, check not null assertThat("a", is(IsNull.notNullValue())); }
CoreMatchers.nullValue()
über (1.1) ist eine Abkürzung fürIsNull.nullValue
. Überprüfen Sie den folgenden Quellcode:
org.hamcrest.CoreMatchers.java
public static org.hamcrest.MatchernullValue() { return org.hamcrest.core.IsNull.nullValue(); }
P.S Same to `notNullValue()`
Note
Wenn Sie die JUnit-Zusicherung bevorzugen, versuchen SieassertNull(null)