如何断言字符串不为空

2022-09-01 02:20:32

断言 a 在 junit 中不为空可以通过以下方式完成:string

 assertTrue(!string.isEmpty());
 assertFalse(string.isEmpty());
 assertThat(string.toCharArray(), is(not(emptyArray())); // (although this didn't compile)

我的问题是:有没有更好的方法来检查这一点 - 比如:

assertThat(string, is(not(empty()))?


答案 1

在hamcrest 1.3中,您可以使用 Matchers#isEmptyString

assertThat(string, not(isEmptyString()));

在hamcrest 2.0中,您可以使用 Matchers#emptyString

assertThat(string, is(not(emptyString())));

更新 - 请注意:“Maven central有一些额外的工件,称为java-hamcrest和hamcrest-java,版本为2.0.0.0。请不要使用这些,因为它们是重新包装不同罐子的中止努力 hamcrest.org/JavaHamcrest/distributables。


答案 2

您可以使用 JUnit 自己的断言:assertNotEquals

Assert.assertNotEquals( "", string );

推荐