You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio运行简单测试类时IDE显示无可用任务

TO-DO List单元测试"无可用任务"报错修复

问题描述

  • 编写测试类用于校验待办应用的统计功能,代码编写完成后IDE运行时提示无可用测试任务,无法执行用例
  • 报错界面参考:
    IDE无可用任务报错截图

提交的测试代码

class StatisticsUtilsTest{
    @Test
    fun getActiveAndCompletedStats_noCompleted_returnsHundredZero(){

        // Create an active tasks (the false makes this active)
        val tasks= listOf<Task>(
            Task("title","description", isCompleted = false)
        )
        // Call our function
        val result= getActiveAndCompletedStats(tasks)

        // Check the result
        assertEquals(0f,result.completedTasksPercent)
        assertEquals(100f,result.activeTasksPercent)
    }

排查步骤

按以下优先级逐一检查即可解决问题:

  • 类结构不完整:当前测试类末尾缺少闭合大括号},类定义不完整会导致IDE无法解析结构,识别不到内部的@Test测试方法,这是该问题最高频的诱因,补全括号即可修复。
  • 文件存放路径错误:本地JVM单元测试必须放在src/test/java/[项目包名]目录下,若误放到主源码目录、androidTest设备测试目录,IDE不会将其识别为可执行测试任务。
  • 测试依赖未配置:打开模块级build.gradle文件,确认dependencies闭包中已引入JUnit4依赖,缺少依赖会导致测试注解无法生效:
dependencies {
    testImplementation 'junit:junit:4.13.2'
}
  • 必要导包缺失:确认测试类顶部已导入测试相关类,遗漏导包同样会导致测试方法无法被识别:
import org.junit.Test
import org.junit.Assert.assertEquals
// 需自行导入项目中自定义的Task、getActiveAndCompletedStats对应包路径

修复后完整代码参考

import org.junit.Test
import org.junit.Assert.assertEquals
// 替换为项目内实际类的包路径
import com.example.todolist.Task
import com.example.todolist.getActiveAndCompletedStats

class StatisticsUtilsTest{
    @Test
    fun getActiveAndCompletedStats_noCompleted_returnsHundredZero(){
        val tasks= listOf<Task>(
            Task("title","description", isCompleted = false)
        )
        val result= getActiveAndCompletedStats(tasks)
        assertEquals(0f,result.completedTasksPercent)
        assertEquals(100f,result.activeTasksPercent)
    }
}

内容的提问来源于stack exchange,提问作者Avinash Acharya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:18:47