问题标签 [hamcrest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9873 浏览

java - Hamcrest 的 lessThan 无法编译

试图编译这段代码

发出此编译错误:

assertThat(Object, org.hamcrest.Matcher<java.lang.Object>) 不能应用于(int, org.hamcrest.Matcher<capture<? super java.lang.Integer>>)

这可能是不同 hamcrest 版本之间的冲突吗?我正在使用 jUnit 4.6 和 hamcrest 1.3

0 投票
2 回答
293 浏览

python - 是否有用于执行 XML 文档匹配的 python hamcrest 匹配器库?

我对 xpath 匹配和完整文档比较都感兴趣:

是否存在任何匹配器库?如果不是,那么进行此类比较的最佳起点是什么,以便我自己编写一个?

0 投票
3 回答
13091 浏览

java - Hamcrest 平等收藏

Hamcrest 中是否有匹配器来比较集合是否相等?有containscontainsInAnyOrder但我不需要equals绑定到具体的集合类型。例如,我无法将 Arrays.asList 和 Map.values 与 Hamcrest 进行比较equals

提前致谢!

0 投票
2 回答
1561 浏览

.net - .net 的匹配器库

.net 是否存在任何匹配器库?我说的是像 java 的 hamcrest 库这样的库......

0 投票
9 回答
38555 浏览

java - 使用 Hamcrest 映射相等

我想使用 hamcrest 来断言两个映射是相等的,即它们具有指向相同值的相同键集。

我目前最好的猜测是:

这使:

assertThat(T, Matcher<T>)类型中的方法Assert不适用于参数 ( Set<Map.Entry<Householdtypes,Double>>, Matcher<Iterable<Set<Map.Entry<Householdtypes,Double>>>>)

我还研究containsAll了 hamcrest 软件包提供的 和其他一些变体。谁能指出我正确的方向?还是我必须编写自定义匹配器?

0 投票
3 回答
711 浏览

apache-flex - 使用 hamcrest-AS3 测试 IList 成员资格的最佳方法是什么?

我正在使用 Flex 3.3,作为单元测试的一部分,hamcrest-as3 用于测试列表中的项目成员资格:

问题是IList该类显然不支持for each迭代。例如,对于上面的列表,这不会跟踪任何内容:

但是,跟踪包含相同数据的 anArray或 an可以正常工作。ArrayCollection

我想要做的是(不必拆开我现有IList的基于 - 的界面)能够处理IList类似 anArray或 anArrayCollection以进行测试,因为这就是 hamcrest 所做的:

这是否注定要失败?作为旁注,为什么IList 接口不能以这种方式迭代?这似乎是错误的。

0 投票
1 回答
2479 浏览

java - 是否有任何工具使用 hamcrest Factory 注释?

我今天坐下来写了一个匹配器,并决定快速查看 jmock 文档以刷新我对过程的记忆,并注意到对 org.hamcrest.Factory 注释的引用。注释状态的文档。

标记 Hamcrest 静态工厂方法,以便工具识别它们。工厂方法等效于命名构造函数。

是否有任何工具实际使用此注释?

0 投票
1 回答
1568 浏览

java - 使用 hamcrest 将两个单独列表中的每个项目与自己的匹配器进行比较

我尝试将两个列表相互比较:

我希望将 a1 与 b1、a2 与 b2、a3 与 b3 进行比较,...。

但我必须使用另一种方法,不能使用.equals!

我已经编写了自己的 hamcrest matcher。但我必须使用 for 循环来迭代元素。有更好的解决方案吗?

0 投票
5 回答
129287 浏览

java - 检查 Hamcrest 中的 List 是否为空

我想知道是否有人知道使用assertThat()and检查列表是否为空的方法Matchers

我能看到的最好的方法就是使用 JUnit:

但我希望在 Hamcrest 有一些方法可以做到这一点。

0 投票
3 回答
1455 浏览

java - Java 泛型和通配符:如何编译这段代码?

我正在使用Hamcrest 1.2库编写一些匹配器,但我很难使用 Java 通配符。当我尝试编译以下代码时

它产生编译错误

如何修改代码以便编译?我在 Container 类和 hasSomethingWhich 方法的签名中尝试了不同的组合? super? extends但无法使其编译(不使用显式方法类型参数,但这会产生丑陋的代码:)GenericsTest.<String>hasSomethingWhich

也欢迎创建简洁易读的断言语法的替代方法。不管是什么语法,它都应该接受一个 Container 和一个 Matcher 作为参数来匹配 Container 内的元素。