我编写了一个简单的测试用例类,并将其放在
Android Studio的默认测试目录中:“src / androidTest”.我创建了一个Android Tests构建配置,用于查找模块中的所有测试.当我运行构建配置时,我的测试没有执行,我在logcat中收到以下消息:W / TestGrouping:无效的包:”找不到或没有测试.如果我指定测试包甚至特定的测试类,我会得到类似的类未找到的消息.
我的测试类如下:
public class FirstTest extends InstrumentationTestCase { public void testSample() { final int expected = 1; final int reality = 5; assertEquals(expected,reality); } }
我的build.gradle文件如下所示:
apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.txt' } } } dependencies { compile 'com.android.support:gridlayout-v7:19.0.1' compile 'com.android.support:support-v4:19.0.1' compile 'com.android.support:appcompat-v7:19.0.1' compile fileTree(dir: 'libs',include: ['*.jar']) }
我正在运行android gradle插件的0.9版本.我的顶级build.gradle(app目录的对等点)看起来像这样.
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } allprojects { repositories { mavenCentral() } }
我的项目目录结构如下:
应用
SRC
androidTest
java的
主要
java的
水库
解决方法
androidTest / java目录下的包结构需要与main / java目录下的结构完全并行.
我上面的问题是main下的包结构是com.mydomain.myapp.subpackage,androidTest下的目录结构是com.mydomain.myapp.subpackage.somethingelse.
一旦包结构匹配,就可以完美地发现和执行测试.