问题标签 [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.
java - 为什么这个 hamcrest 匹配器在 Eclipse 中工作而不在外面工作?
可能重复:
Hamcrest 的 hasItems
我使用 hamcrest 匹配器编写了一个测试,如下所示:
这在我在 Eclipse 中编译时有效,但不是在 Eclipse 之外。我的 maven 项目使用 eclipse 编译器,所以使用 maven 时它在 Eclipse 之外编译,但如果我使用标准 java 编译器,它不会编译。
我收到错误消息
找不到符号方法 assertThat(java.util.Collection,org.hamcrest.Matcher>)
我正在使用 junit 4.10 和 hamcrest 1.3.RC2。
java - 无法使 JUnit 工作(assertThat/hasItem)
我刚刚创建了一个虚拟 Maven 项目:
我有这个项目中唯一的测试:
当我运行时mvn clean test
,它说:
Maven版本:
爪哇版:
我如何使它工作?
更新
修复了Assert
and的导入JUnitMatchers
,更新了输出mvn clean test
testing - 为什么 mockito 返回错误 eve 参数是相同的?
看看这张照片。Mockito 验证 Argument 发生了什么?
我想验证是否使用参数工厂调用了视图。
但是我得到了这个奇怪的错误?!
你可以的论点是相同的。
java - 日期的 Hamcrest 库
我一直在环顾四周,但没有发现任何有用的东西。是否有任何与具有广泛日期匹配的 hamcrest 一起使用的第三方库?
具体来说,我正在寻找以下方面的匹配器:
在我推出自己的产品之前,我想看看那里是否有任何东西。
java - JMock- java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch()
我知道解决方案是以某种方式确保在 hamcrest 之后加载 Junit。我有一个 intellij 项目,我在其中设置了一个外部库,其中包含 JUnit 和 JMock 以及 hamcrest。如何确保不会出现此错误
java - 如何断言 Iterable 包含具有特定属性的元素?
假设我想用这个签名对一个方法进行单元测试:
假设MyItem
是一个具有许多属性的 Pojo,其中之一是"name"
通过getName()
.
我关心的只是验证List<MyItem>
或 anyIterable
包含两个MyItem
实例,其"name"
属性具有值"foo"
和"bar"
。如果任何其他属性不匹配,我真的不关心这个测试的目的。如果名称匹配,则测试成功。
如果可能的话,我希望它是单行的。这是我想做的那种事情的一些“伪语法”。
Hamcrest 对这类事情有好处吗?如果是这样,我上面的伪语法的 hamcrest 版本到底是什么?
groovy - 在 Groovy 中将 JMock2 与 Matchers 一起使用:'with' 方法的问题
我的测试方法中有一个带有 JMock 期望的以下片段:
在哪里anyInsertionEvent
并aRowChangedEventAs
返回Matcher<TableModelEvent>
. 这摘自“由测试引导的面向对象的软件增长”一书(第 181 页)。
我尝试将此测试转换为 Groovy,但我需要的方法是:
被以下阴影遮蔽:
结果,我在测试期间遇到错误,例如:
我怎样才能使用适当的with
方法?或者,请建议任何其他方法来解决此问题。
更新:它不是阴影。Expectations.with(Matcher<Boolean>)
因此,实际调用的方法是false
堆栈跟踪中的值。因此,方法被错误地分派。有什么想法吗?
更新:匹配器方法如下:
java - 将空集合与 Hamcrest 的 hasItem() 匹配
如何使用 TestNG 和hasItem
Hamcrest 匹配一个空集合?这是我通过一项测试得到的结果。
这是我的匹配器类:
失败的测试是
其中expectedMatcher
由数据提供者提供。结果,我不确定要传递什么来匹配这个“空集合”。我正在传递默认构造函数,但我知道这不起作用,因为它使用null
成员创建集合。
这是我的数据提供者的一部分:
serialization - Wicket 行为中的不可序列化匹配器
我在 Wicket 上构建了一个可见性行为,它使用 Hamcrest Matcher
(和一些 Lambdaj)来查看是否有任何给定的属性模型值与给定的匹配器匹配,如果是,那么它将隐藏组件。
直到那时我才意识到 Hamcrest Matchers 是不可序列化的,并且根据他们的问题跟踪器,他们无意序列化。
上面只是一个例子,我可以看到传递Matchers
给Behavior
s 和其他 Wicket 东西的几种用途。
有什么办法吗?
java - 编写更好的 JUnit 参数化测试用例
我有一个有趣的要求。我希望在我的应用程序中拥有尽可能好的测试用例覆盖率。我正在使用参数化 Junit 运行具有不同输入数量的测试用例。我的示例测试类如下所示:
这样,我用我的测试参数定义了断言逻辑。现在我想在测试用例上运行多个匹配器,其中一些可以是我编写的自定义匹配器。
断言就像:
但问题是,两个匹配器都在不同的对象上运行。我可以定义我的 CustomMatcher 的最佳方式是什么?
我应该按匹配器类型对断言进行分类吗?
我将不胜感激任何帮助。提前致谢。