Arm*_*ine 26 java junit unit-testing hamcrest
断言jun中的a string不是空的,可以通过以下方式完成:
assertTrue(!string.isEmpty());
assertFalse(string.isEmpty());
assertThat(string.toCharArray(), is(not(emptyArray())); // (although this didn't compile)
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有更好的方法来检查这个 - 比如:
assertThat(string, is(not(empty()))?
hol*_*ava 48
在hamcrest 1.3中,您可以使用Matchers#isEmptyString:
assertThat(string, not(isEmptyString()));
Run Code Online (Sandbox Code Playgroud)
在hamcrest 2.0中,您可以使用Matchers#emptyString:
assertThat(string, is(not(emptyString())));
Run Code Online (Sandbox Code Playgroud)
更新 - 请注意:"Maven central有一些名为java-hamcrest和hamcrest-java的额外工件,版本为2.0.0.0.请不要使用这些工件,因为它们是重新包装不同罐子的中断工作." 来源:hamcrest.org/JavaHamcrest/distributables
您可以使用JUnit自己的assertNotEquals断言:
Assert.assertNotEquals( "", string );
Run Code Online (Sandbox Code Playgroud)