java junit 预期值,如何检查JUnit我们期望返回的确切值?

您可以使用JUnit轻松测试具有返回值的方法。测试a void main在某种程度上更难,并且在更大的应用程序中没有任何意义(那些类比包含更多类的应用程序更多main)。

在你的情况下,我会将要测试的代码提取到一个方法中,让我们说下面的一个:import java.util.List;import java.util.stream.Collectors;public class StackoverflowDemo {

public static List getDistinctValuesFrom(List list) {

return list.stream().distinct().collect(Collectors.toList());

}}

由于这种方法static,您不需要任何类的实例。

对于简单的单元测试 - 通常 - 您需要输入值和预期输出值。在这种情况下,您可以实现两个列表,一个列表具有重复项,另一个列表表示消除第一个列表重复项的预期结果。

一个JUnit测试用例将预期的输出与/用来比较(我将永远不会用英语 - 这里的母语人士编辑这些介词)实际的输出。

JUnit使用比较(返回)值(方法)的特定方法。

测试此方法的测试类可能如下所示:import static org.junit.jupiter.api.Assertions.*;import java.util.ArrayList;import java.util.List;import org.junit.jupiter.api.

Test;import de.os.prodefacto.StackoverflowDemo;class StreamTest {

@Test

void test() {

// provide a list that contains dpulicates (input value)

List input = new ArrayList();

input.add("AAA");

input.add("BBB");

input.add("CCC");

input.add("AAA");

input.add("DDD");

input.add("EEE");

input.add("AAA");

input.add("BBB");

input.add("FFF");

input.add("GGG");

// provide an expected result

List expected = new ArrayList();

expected.add("AAA");

expected.add("BBB");

expected.add("CCC");

expected.add("DDD");

expected.add("EEE");

expected.add("FFF");

expected.add("GGG");

// get the actual value of the (static) method with the input as argument

List actual = StackoverflowDemo.getDistinctValuesFrom(input);

// assert the result of the test (here: equal)

assertEquals(expected, actual);

}}

请注意,您可以而且应该测试不良行为,例如误报或Exceptions。对于比这个简单示例更进一步的内容,谷歌搜索JUnit教程并阅读其中的一些内容。请注意,测试用例也可能是错误的,这可能会导致严重的问题!仔细检查您的测试,因为预期值可能是错误的,因此尽管方法正确实施,测试失败的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值