断言JUnit中的列表不是空的
我想断言JUnit4中的列表不是空的,当我在谷歌上搜索它时,我发现了这篇文章:它使用的是Hamcrest断言JUnit中的列表不是空的,junit,junit4,Junit,Junit4,我想断言JUnit4中的列表不是空的,当我在谷歌上搜索它时,我发现了这篇文章:它使用的是Hamcrest assertThat(result.isEmpty(), is(false)); 这给了我一个错误: 该类型的方法为(布尔)未定义 维护测试 如果不使用Hamcrest,我怎么能做到这一点呢 assertFalse(result.isEmpty()); 关于您的问题,这只是因为您忘记从Hamcrest静态导入is()方法 import static org.hamcrest.CoreMa
assertThat(result.isEmpty(), is(false));
这给了我一个错误:
该类型的方法为(布尔)未定义
维护测试
如果不使用Hamcrest,我怎么能做到这一点呢
assertFalse(result.isEmpty());
关于您的问题,这只是因为您忘记从Hamcrest静态导入is()
方法
import static org.hamcrest.CoreMatchers.is;
这本书读起来很好,使用了Hamcrest。正是你要求的;) 当代码读起来像注释时总是很好的
assertThat(myList, is(empty()));
assertThat(myList, is(not(empty())));
您可以将is
作为静态导入添加到您的IDE中,因为我知道eclipse和IntelliJ即使在类路径上也在努力建议它。
IntelliJ 日食 而进口本身就是
import static org.hamcrest.CoreMatchers.is代码>我也在寻找类似的东西,但最简单的解决方法是
Assert.AreEqual(result.Count, 0);
当集合没有记录时。您可以将“is”更改为“equalTo”:
断言(result.isEmpty(),等于(false)) 我喜欢使用
Assert.assertEquals(List.of(),result)
这样,如果列表不是空的,就会得到一条非常好的错误消息。例如
java.lang.AssertionError:
Expected :[]
Actual :[something unexpected]
assertEquals(Collections.Empty\u列表,Collections.emptyList())
试试这个。您可以检查您的列表是否不等于空列表(Collections.Empty\u list
),试试这个:
Assertions.assertNotEquals(Collections.EMPTY_LIST, yourList);
另请参见此处仅供参考:assertThat(items,IsCollectionWithSize.hasSize(大于(1))
检查集合的大小。但不幸的是,如果失败,它不会打印集合中的项目:(现在更好的方法是assertThat(myList,is(not(empty()))
@GiulioCaccin提到导入类会很有帮助。我没有提到它,因为LazerBanana的正确答案就在第页的这里。您使用什么导入?它没有使用Hamcrest吗?关于empty()
我还没有解决,它也是用户定义的还是需要静态导入?@basheer:import static org.hamcrest.Matchers.empty;
java.lang.AssertionError:
Expected :[]
Actual :[something unexpected]
Assertions.assertNotEquals(Collections.EMPTY_LIST, yourList);