Android 使用JUnit(使用JVM)对SparseArray进行单元测试

Android 使用JUnit(使用JVM)对SparseArray进行单元测试,android,unit-testing,junit,Android,Unit Testing,Junit,我有一个在HashMap中使用整数作为键的实现。它已经使用JUnit进行了单元测试。但我想把它改成SparseArray,这是Android的一个更优化的版本。我不确定如何使用JUnit进行单元测试。有人有更好的方法吗?Unmack是一个非常好的项目,它为您提供了这一点和更多 只要添加插件,它就会工作。支持库中有一个名为SparseArray的等效实现,可以在JVM单元测试中使用。此外,它比本机的功能更多,因此您最好使用它。如果有人还在查看,您不需要任何第三方库。你可以简单地模仿斯巴雷 在app

我有一个在HashMap中使用整数作为键的实现。它已经使用JUnit进行了单元测试。但我想把它改成SparseArray,这是Android的一个更优化的版本。我不确定如何使用JUnit进行单元测试。有人有更好的方法吗?

Unmack是一个非常好的项目,它为您提供了这一点和更多


只要添加插件,它就会工作。

支持库中有一个名为SparseArray的等效实现,可以在JVM单元测试中使用。此外,它比本机的功能更多,因此您最好使用它。

如果有人还在查看,您不需要任何第三方库。你可以简单地模仿斯巴雷

在app/src/test/java/android/util中创建一个SparseArray.java文件,并粘贴以下内容:

package android.util;

import java.util.HashMap;

public class SparseArray<E> {

    private HashMap<Integer, E> mHashMap;

    public SparseArray() {
        mHashMap = new HashMap<>();
    }

    public void put(int key, E value) {
        mHashMap.put(key, value);
    }

    public E get(int key) {
        return mHashMap.get(key);
    }
}
package android.util;
导入java.util.HashMap;
公共级Sparsarray{
私有HashMap-mHashMap;
公共Sparsarray(){
mHashMap=新HashMap();
}
公共void put(int键,E值){
mHashMap.put(键、值);
}
公共E-get(int-key){
返回mHashMap.get(键);
}
}
注意:如果您正在使用
put
get
旁边的函数,那么您也需要在此处实现这些函数

使用框架配置测试可能更简单

import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;

@RunWith(RobolectricTestRunner.class)
public class XxxTest {
    ...
}

@随着时间的推移,我同意现在是更好的选择。