草庐IT

Hamcrest-Matcher

全部标签

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 Pattern.matcher() 在匹配包含\n 的行时卡住

我遇到了一个我觉得很有趣的问题。我主要通过正则表达式对文本文件进行一些基本的解析,并且在匹配这一行时它总是卡住ftrect0.703157.03139.856155.5313"FREIGABE\nQ09_SV01"没有抛出异常;该程序只是挂起。我正在发布重现这种情况的程序片段;评论的一个是可能的标准情况,但另一个是有问题的。如果你删除\n它会工作,但这些解析的文件来自“黑盒”系统。我当然可以做一个解决方法,我只是觉得有趣的是它实际上卡住了,希望有人能解释发生了什么。我在JDK6u22和JDK7u21上试过了...publicstaticPatternFTRECT_PATTERN=Pat

如何使用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 - matcher.find() 有什么问题?

Strings="1.01";Matchermatcher=Pattern.compile("[+-/\\*\\^\\%]").matcher(s);if(matcher.find()){System.out.println(matcher.group());}输入字符串是“1.01”,输出是“.”。我不明白为什么matcher.find()返回true,输入字符串中没有“+”、“-”、“*”、“^”、“%”等符号。为什么会这样? 最佳答案 除了第一个或最后一个字符类中的任何其他位置的破折号表示一个字符范围,就像[a-z]匹配从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

C# 相当于 java Matcher.hitEnd()

在C#Regex中是否有等同于java.util.regex.Matcher.hitEnd()的东西?booleanhitEnd()的Javadoc:Returnstrueiftheendofinputwashitbythesearchengineinthelastmatchoperationperformedbythismatcher.Whenthismethodreturnstrue,thenitispossiblethatmoreinputwouldhavechangedtheresultofthelastsearch.@returntrueifftheendofinputwas

Java Scanner vs Matcher——正则表达式,Matcher 有效,Scanner 无效

为什么第一个block有效而第二个block不有效?intnumberOfDigits=2;Patternp=Pattern.compile("[01]{"+numberOfDigits+"}");Matcherm=p.matcher("101100101011010011111000");while(m.find()){System.out.println(m.group());}block2ScannerscannerSegment=newScanner("101100101011010011111000");while(scannerSegment.hasNext(p)){Str

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