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



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

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

我正在寻找为什么会出现这种情况的解释,以及我是否应该首先避免在代码中传递String[]作为构造函数参数。

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

相关内容

  • 没有找到相关文章

最新更新