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

Android Studio中测试类无法识别自定义SleepNight类的解决咨询

解决测试类无法识别database文件夹中SleepNight类的问题

1. 核对包声明与导入逻辑

  • 确认SleepNight类的包声明正确:比如database是src/main/java下的子文件夹,类顶部需写package 你的项目根包名.database;(替换为实际项目包名)
  • 测试类中必须显式导入该类:import 你的项目根包名.database.SleepNight;;若测试类与SleepNight同属一个包,可省略导入,但要保证两者的包结构完全一致

2. 验证源码目录配置

  • 基于Maven/Gradle等构建工具,确保database文件夹在主源码目录下:
    • Maven:主源码目录默认是src/main/java,database必须是该目录的子文件夹,不能直接放在项目根目录
    • Gradle:默认主源码路径为src/main/java,若自定义过路径,需确认database在配置的源码路径范围内
  • 测试类所在的src/test/java目录,要和主源码的包结构镜像对应:比如主源码路径是src/main/java/com/xxx/database,测试类应放在src/test/java/com/xxx/database下,或通过导入包来访问

3. 强制同步与编译主源码

  • 执行构建命令编译主代码:
    • Maven:运行mvn compile
    • Gradle:运行gradle compileJava
  • 在IDE中触发同步与清理:
    • IntelliJ IDEA:点击右上角「Sync Project with Gradle Files」,或右键项目选择「Rebuild Project」
    • Eclipse:点击「Project > Clean」,再选择「Build Project」
  • 确保database文件夹被标记为源码根目录:右键文件夹,选择「Mark Directory as > Sources Root」(IntelliJ)或「Build Path > Use as Source Folder」(Eclipse)

4. 检查类的访问权限

  • 确保SleepNight类的访问修饰符为public,若为默认包级私有,测试类必须与它处于同一个包才能访问
  • 若测试需要访问类内私有成员,优先调整成员的访问权限为包级或公共,不推荐直接用反射绕过

5. 清理IDE缓存

  • IntelliJ IDEA:点击「File > Invalidate Caches... > Invalidate and Restart」
  • Eclipse:点击「Window > Preferences > General > Workspace > Build > Clear」,之后重启IDE

内容的提问来源于stack exchange,提问作者Jaafar Al-Attia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:07:02