草庐IT

Hamcrest-Matcher

全部标签

java - 使用 between 比较 Hamcrest 数

Hamcrest有没有办法比较一个数字范围内的数字?我正在寻找这样的东西:assertThat(50L,is(between(12L,1658L))); 最佳答案 Jeff解决方案的替代方法是使用both:assertThat(50L,is(both(greaterThan(12L)).and(lessThan(1658L))));我认为这很有可读性。如果检查失败,您还会收到一条很好的错误消息:Expected:is(avaluegreaterthanandavaluelessthan)got:

java - 使用 between 比较 Hamcrest 数

Hamcrest有没有办法比较一个数字范围内的数字?我正在寻找这样的东西:assertThat(50L,is(between(12L,1658L))); 最佳答案 Jeff解决方案的替代方法是使用both:assertThat(50L,is(both(greaterThan(12L)).and(lessThan(1658L))));我认为这很有可读性。如果检查失败,您还会收到一条很好的错误消息:Expected:is(avaluegreaterthanandavaluelessthan)got:

java - "No match Found"使用 matcher 的 group 方法时

我正在使用Pattern/Matcher来获取HTTP响应中的响应代码。groupCount返回1,但尝试获取时出现异常!知道为什么吗?代码如下://getresponsecodeStringfirstHeader=reader.readLine();PatternresponseCodePattern=Pattern.compile("^HTTP/1\\.1(\\d+)OK$");System.out.println(firstHeader);System.out.println(responseCodePattern.matcher(firstHeader).matches());

java - "No match Found"使用 matcher 的 group 方法时

我正在使用Pattern/Matcher来获取HTTP响应中的响应代码。groupCount返回1,但尝试获取时出现异常!知道为什么吗?代码如下://getresponsecodeStringfirstHeader=reader.readLine();PatternresponseCodePattern=Pattern.compile("^HTTP/1\\.1(\\d+)OK$");System.out.println(firstHeader);System.out.println(responseCodePattern.matcher(firstHeader).matches());

java - Hamcrest 的多个正确结果(是否有或匹配器?)

我对匹配器比较陌生。我在玩hamcrest结合JUnit,我有点喜欢它。有没有办法说明多项选择中的一个是正确的?类似assertThat(result,is(either(1,or(2,or(3)))))//doesnotworkinhamcrest我正在测试的方法返回集合的一个元素。该列表可能包含多个候选者。我当前的实现返回第一个命中,但这不是必需的。如果返回任何可能的候选人,我希望我的测试用例成功。你会如何用Java来表达这一点?(我对hamcrest-alternatives持开放态度) 最佳答案 assertThat(res

java - Hamcrest 的多个正确结果(是否有或匹配器?)

我对匹配器比较陌生。我在玩hamcrest结合JUnit,我有点喜欢它。有没有办法说明多项选择中的一个是正确的?类似assertThat(result,is(either(1,or(2,or(3)))))//doesnotworkinhamcrest我正在测试的方法返回集合的一个元素。该列表可能包含多个候选者。我当前的实现返回第一个命中,但这不是必需的。如果返回任何可能的候选人,我希望我的测试用例成功。你会如何用Java来表达这一点?(我对hamcrest-alternatives持开放态度) 最佳答案 assertThat(res

java - assertThat - hamcrest - 检查列表是否排序

好的,我认为这将是一个简短的问题。我有一个按日期排序的ArrayList,当然我看到它有效,但我也想为它编写一个测试。我想检查列表中的下一个值(日期)是否低于前一个值。我可以通过使用一些for并添加临时列表来做到这一点,但我想知道是否有更简单的解决方案。我在hamrest文档中读到,有类似contains(hamrestcontains)这样的想法可以遍历一个对象(列表、map等),但我仍然不知道下一步该做什么。 最佳答案 [第一种选择]:您可以编写自己的匹配器。类似(免责声明:这只是示例代码,未经测试,可能并不完美):@Testp

android - 使用 anything() 时出错;在 Android 中测试不兼容的类型需要 : Matcher <View> found: Matcher <Object>

我运行下面的代码并在returnanything()时出错;error:incompatibletypesrequired:Matcherfound:Matcher/***PerformactionofwaitinguntilUIthreadisfree.E.g.:onView(isRoot()).perform(waitUntilIdle());*@return*/publicstaticViewActionwaitUntilIdle(){returnnewViewAction(){@OverridepublicMatchergetConstraints(){returnanythi

java - Matcher.replaceAll() 和 String.replaceAll() 似乎不适用于 Galaxy S 6

我需要从字符串中删除一些字符。目前我正在尝试删除“”(空格)和“-”(连字符)。我试过两种方法。他们都在运行AndroidNBeta的Nexus5X上工作。它们都不适用于搭载AndroidM的三星GalaxyS6。第一种方法:StringnormalizedNumber=phoneNumber.replaceAll("[-]","");第二种方法:Patternpattern=Pattern.compile("[-]");StringnormalizedNumber=pattern.matcher(phoneNumber).replaceAll("");这样的基础类怎么会给出不同的结果

android - 配置 gradle 以使用 JUnit、Mockito、Hamcrest 和 Espresso

我有一个使用Mockito、Hamcrest和Espresso来帮助测试的Android项目。无论我尝试使用Gradle构建文件做什么,当我尝试在完成gradleandroidTestCompile.这是我当前的配置:dependencies{compileproject(':GameCore')androidTestCompilefiles('libs/espresso-1.1.jar','libs/testrunner-1.1.jar','libs/testrunner-runtime-1.1.jar')androidTestCompile('junit:junit:4.11','