我目前正在开发一个Android应用程序,最近从Eclipse切换到Android Studio(这不是我的想法;))。但是我想配置一个詹金斯服务器来定期运行JUnit测试和其他测试。为此,我尝试配置gradle buidlfile。这是我的设置:
目录结构:
-app -src -main -test
build.gradle文件:(位于“ src / build.gradle”中)
apply plugin: 'android' sourceSets { unitTest { java.srcDir file('src/test/java/[appName]/app') } } android { compileSdkVersion 19 buildToolsVersion '19.0.3' defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } sourceSets { instrumentTest.setRoot('src/test') } } task unitTest(type:Test) { testClassesDir = sourceSets.unitTest.output.classesDir classpath = sourceSets.unitTest.runtimeClasspath } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v13:+' compile 'com.android.support:appcompat-v7:+' compile 'com.android.support:support-v4:+' unitTest 'junit:junit:4.10' }
测试类MainActivityTest.java
package [appName].app; import android.test.InstrumentationTestCase; import junit.framework.Assert; public class MainActivityTest extends InstrumentationTestCase{ public void testMain(){ Assert.assertEquals(1,2); } }
最重要的是错误消息:
Error:(41, 0) Build script error, unsupported Gradle DSL method found: 'unitTest()'!
这是我第一次使用gradle和Android Studio,但我真的不知道我在做什么错。在互联网上,我只发现有类似问题的人,但没有人找到对我有用的解决方案。如果您能指出正确的方向,我将非常高兴!
问候
错误消息表明没有此类属性unitTest。测试依赖项通过instrumentTest(旧)或androidTest(新)声明。
Android SDK已带有junit 3依赖项。因此,只需删除该行