JUnit Test测试原语到包装类的转换

时间:2017-12-01 13:12:49

标签: java junit

将基元转换为包装器的单元测试的最佳方法是什么? 我已经写了我传递一个int数组并返回一个整数数组。我知道我可以使用ClassUtils.isPrimitiveOrWrapper()来检查它是一个原语还是包装器,但是有另一种方法可以在不使用外部依赖的情况下执行此操作。

由于

2 个答案:

答案 0 :(得分:3)

ClassUtils.isPrimitiveOrWrapper()检查类是基元还是包装器 并且您想测试Integer的数组是否正确映射到int的数组 它不会真正帮助你。
您在测试中需要的是声明每个Integer已正确映射到相应的int值并且顺序正确。

例如:

Integer[] fixtureIntegers = new Integer[]{Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(2)};
int[] mappedInts = myClassUnderTest.map(fixtureIntegers);

// First : assert equality size
Assert.assertEquals(fixtureIntegers.length, mappedInts.length);

// Second : assert content 
for (int i=0; i<fixtureIntegers.length; i++)
    Assert.assertEquals(fixtureIntegers[i], mappedInts[i]);
}

当然,如果原始数组中的Integer元素可能是null,那么您还必须在断言中处理这种情况。

答案 1 :(得分:0)

我建议您使用guava's Ints.asList()