【发布时间】:2016-06-02 18:47:32
【问题描述】:
我有兴趣编写一个测试来检查函数是否返回两个值之一。例如:
@Test
public void testRandomFunction() {
assertEquals(
either(equalTo(2)).or(equalTo(3)),
RandomFunction(5)
);
return;
}
在线阅读时,我发现了 hamcrest 的匹配器。代码可以编译,但是当我运行测试时,似乎将整数 5 与匹配器对象进行比较,而不是整数 2 和 3。
我愿意尝试除匹配器之外的其他东西,如果它使这更容易的话。有谁知道我该怎么做?
我也尝试了以下方法但没有成功:
@Test
public void testRandomFunction() {
Set<Integer> acceptedValues = new HashSet<Integer>();
acceptedValues.add(2);
acceptedValues.add(3);
assertEquals(
isIn(acceptedValues),
RandomFunction(5)
);
return;
}
【问题讨论】:
标签: java junit assert hamcrest