gpt4 book ai didi

java - 使用 jUnit 4.12 和 Hamcrest 1.3,我如何断言函数返回两个整数之一?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:50 26 4
gpt4 key购买 nike

我有兴趣编写一个测试来检查函数是否返回两个值之一。例如:

  @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;
}

最佳答案

要使用匹配器,您需要使用 assertThat而不是 assertEquals

assertThat(
"RandomFunction result",
RandomFunction(5),
either(equalTo(2)).or(equalTo(3)),
);

关于java - 使用 jUnit 4.12 和 Hamcrest 1.3,我如何断言函数返回两个整数之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37599893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com