草庐IT

Hamcrest

全部标签

java - Hamcrest 的 lessThan 无法编译

正在尝试编译这段代码importstaticorg.hamcrest.Matchers.is;importstaticorg.hamcrest.number.OrderingComparison.lessThan;...Assert.assertThat(0,is(lessThan(1)));发出此编译错误:assertThat(Object,org.hamcrest.Matcher)cannotbeappliedto(int,org.hamcrest.Matcher>)这可能是不同hamcrest版本之间的冲突吗?我正在使用jUnit4.6和hamcrest1.3

java - 断言集合 "Contains at least one non-null element"

我想验证一个集合是否包含至少一个非空元素。我试过is(not(empty())),但是这在下面的测试中通过了。importorg.junit.Test;importjava.util.ArrayList;importjava.util.Collection;importstaticorg.hamcrest.CoreMatchers.is;importstaticorg.hamcrest.MatcherAssert.assertThat;importstaticorg.hamcrest.Matchers.empty;importstaticorg.hamcrest.Matchers.no

如何使用hamcrest比较忽略标签的文本?

我有测试,我想断言它的结果:assertThat(cofmanString,newIsEqualIgnoringCase(FileUtils.readFileToString(newFile("/Users/myFile.txt"))));在Intellij中,我看到字符串是相同的,包括标签和新线实际的:预期的:但是测试失败了:我可以使用哪个hamcrest匹配项比较字符串并取得成功?看答案您可以使用以下方式:assertThat(cofmanString,equalToIgnoringWhiteSpace(FileUtils.readFileToString(newFile("/Users/

java - Hamcrest 错误与非此即彼和 null 或不正确的用法?

当出现以下情况时,我感到很震惊:assertThat(null,either(is(nullValue())).or(notNullValue()));失败:java.lang.AssertionError:Expected:(isnullornotnull)but:wasnullatorg.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)atorg.junit.Assert.assertThat(Assert.java:956)atorg.junit.Assert.assertThat(Assert.java:923)a

java - Hamcrest Matchers.contains 匹配器不工作(?)

我正在尝试测试一个集合是否有一个toString()方法返回特定字符串的项目。我尝试使用优秀的Hamcrest匹配类,通过将包含与Matchers.hasToString结合使用,但不知何故,它的Matchers.contains无法匹配项目,即使它存在于集合中。这是一个例子:classItem{privateStringname;publicItem(Stringname){this.name=name;}publicStringtoString(){returnname;}}//here'sasamplecollection,withthedesireditemaddedinthe

java - Hamcrest 与 MockMvc : check that key exists but value may be null

我正在使用MockMvc进行一些测试,我想验证JSON响应的结构。具体来说,我想确保属性的键存在,并且该值是特定类型或null。{"keyToNull":null,#Thismaybenull,oraString"keyToString":"somevalue"}以下对我有用,但我想知道是否有办法将每组两个期望组合成一行,因为我有很多属性要检查:importstaticorg.springframework.test.web.servlet.result.MockMvcResultMatchers.*;importstaticorg.hamcrest.Matchers.*;.andEx

java - 如何在 Hamcrest 中使用(原始的)自动装箱/加宽?

我遇到了https://code.google.com/p/hamcrest/issues/detail?id=130为Hamcrest匹配器添加一些语法糖。但这个想法被Hamcrest开发人员拒绝了。还有其他聪明的想法可以通过避免在long后面键入L来提高测试的可读性吗?@Testpublicvoidtest1(){intactual=1;assertThat(actual,is(1));}@Testpublicvoidtest2(){longactual=1L;assertThat(actual,is(1));//failsasexpectedisbutresultwas//ass

java - 是否有用于递归比较目录的匹配器?

我正在为IM和导出文件编写单元测试。我需要逐字节递归地测试生成的目录。我自己为平面目录实现了一个例程,并且也知道如何递归地执行此操作。但我不想重新发明轮子。那么有没有像下面这样的例子呢?Matchers.matches(Pathactual,equalsRecursive(Pathvalue));或FileAssertions.equalsRecursive(Pathactual,Pathvalue); 最佳答案 我不知道有这样的匹配器。所以,IMO,你必须自己做。我能想到的2个选项如下:使用ApacheCommonsFileUti

java - 如何将 Class<?> 与 Hamcrest Matcher 中的特定 Class 实例进行匹配?

我希望能够断言注释值与预期的类匹配:importorg.junit.Test;importstaticorg.hamcrest.CoreMatchers.*;importstaticorg.hamcrest.MatcherAssert.assertThat;publicfinalclassAnnotatedClassTest{@TestpublicvoidsomeAnnotationIsString(){assertThat(AnnotatedClass.class.getAnnotation(SomeAnnotation.class).value(),is(equalTo(Strin

java - 在一个匹配器中匹配多个属性

我需要编写Matcher来检查多个属性。对于我使用过的单个属性:importstaticorg.hamcrest.Matchers.equalTo;importstaticorg.hamcrest.Matchers.hasProperty;importorg.hamcrest.Matcher;importorg.hamcrest.Matchers;MatchermatcherName=Matchers.hasProperty("propertyName",equalTo(expectedValue));我应该如何检查一个Matcher中的更多属性? 最佳答案