ViewModel(8)单元测试

对 ViewModel 进行单元测试可以确保其数据处理逻辑的正确性和稳定性。以下是一个简单的示例,展示如何对 ViewModel 进行单元测试:

假设我们有一个 CounterViewModel,用于管理计数器:

复制代码
import androidx.lifecycle.ViewModel;

public class CounterViewModel extends ViewModel {

    private int counter;

    public void increment() {
        counter++;
    }

    public int getCounter() {
        return counter;
    }
}

对应的单元测试:

复制代码
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

class CounterViewModelTest {

    private CounterViewModel viewModel;

    @BeforeEach
    void setUp() {
        viewModel = new CounterViewModel();
    }

    @Test
    void testIncrementCounter() {
        viewModel.increment();
        assertEquals(1, viewModel.getCounter());

        viewModel.increment();
        assertEquals(2, viewModel.getCounter());
    }
}

在上述示例中:

  • @BeforeEach 注解的 setUp 方法在每个测试方法执行前初始化 ViewModel 对象。
  • testIncrementCounter 方法测试了计数器递增的功能,通过调用 increment 方法后,验证计数器的值是否符合预期。

这样的单元测试可以帮助我们在代码更改时快速发现 ViewModel 中数据处理逻辑可能出现的问题。

相关推荐
_祝你今天愉快1 天前
Android 12 (AOSP) 添加自定义系统服务
android
程序员陆业聪1 天前
AI编码提效实战:Skill、Rule与上下文工程
android
程序员陆业聪1 天前
AI驱动需求梳理与Spec编写:让PRD自动变成技术方案
android
李艺为1 天前
Android Studio使用switch匹配资源id时报需要常量表达式解决办法
android
YaBingSec1 天前
玄机靶场-2024ccb初赛sc05 WP
android·运维·网络·笔记·安全·ssh
常利兵1 天前
解锁Android嵌入式照片选择器,让你的App体验丝滑起飞
android
峥嵘life1 天前
Android 切换用户后无法获取 MAC 地址分析解决
android·python·macos
JJay.1 天前
Android BLE 为什么连上了却收不到数据
android
歪楼小能手1 天前
Android16在开机向导最后添加一个声明界面
android·java·平板
夏沫琅琊1 天前
Android联系人导入导出
android·kotlin