android.util.Pair将String []作为androidTest中的参数保存,但在(单元)测试中为null

Tom*_*ala 13 java generics android android-testing android-espresso

我想单元测试一个UtilsClass类型的静态方法,它返回一个Pair<String[], String[]>.在这个方法中,我将一对String []注入其构造函数中,例如.final Pair<String[], String[]> pair = new Pair<>(new String[] {"Hello", "World"}, new String[] {"£33", "£44"});并期望返回此对象.

当我对这个方法进行单元测试时,我得到一个非空的Pair对象,但是它的字段first = null和second = null.当我在Instrumentation类型测试中运行相同的测试代码时,将正确填充字段.我可以看到,在后一种情况下,public Pair(F first, S second) {输入调试点的构造函数和字段设置,但不在单元测试中.

我正在寻找解释为什么会这样,如果我应该避免String[]首先在代码中传递as构造函数params.

Pat*_*lio 22

正如njk2和TomaszRykala发现的那样,使用android.support.v4.util.Pair而不是android.util.Pair修复了这个问题.