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

Ami*_*mit 21 junit android unit-testing

我有一个实现,它使用Integer作为HashMap中的键.它已经使用JUnit进行了单元测试.但我想将其更改为SparseArray,这是Android的更优化版本.我不确定如何使用JUnit进行单元测试.有没有人有更好的方法来做到这一点?

rak*_*gde 36

在支持库中有一个名为SparseArrayCompat的SparseArray的等效实现,可以在JVM单元测试中使用.它还具有比原生功能更多的功能,因此您最好使用它.


lig*_*igi 6

Unmock是一个非常好的项目,可以为您提供更多.https://github.com/bjoernQ/unmock-plugin 只需添加插件即可


Ade*_*mad 6

如果有人仍在寻找,您不需要任何第三方库。您可以简单地模拟 SparseArray。

在 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:如果您在旁边使用函数put并且get您也需要在此处实现它们。