java - 如何断言字符串不为空

标签 java unit-testing junit hamcrest

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

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

我的问题是:有没有更好的检查方法 - 例如:

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

最佳答案

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

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

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

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

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

关于java - 如何断言字符串不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44086860/

相关文章:

Java do-while 循环不起作用

java - 获取语​​言环境的毫秒时间格式

java - 获取特定分隔符之后的子字符串

python - Python 中的 Defacto 模板应用程序

java - 模拟随机访问文件

java - 无法从 Eclipse 插件运行 JUnit 测试

java - 导出: `C:/Java/jdk1.7.0_65':不是有效的标识符

ruby-on-rails - 何时以及何时不 stub /模拟测试

visual-studio-2010 - 编码的 UI 测试 - 如何更改它运行的 exe

java - Mockito 方法行为