[英]Ho to configure Junit4 AndroidStudio with Gradle
我想在我的項目中測試一些clases。
我的項目是所有的android,但新的clases是純Java(我試圖為應用程序做一個小sdk)
但我不知道如何正確配置
Gradle文件:
apply plugin: 'android'
android {
compileSdkVersion "Google Inc.:Google APIs:19"
buildToolsVersion "19.0.1"
lintOptions{
checkReleaseBuilds false
}
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 28
versionName "4.0.5"
}
signingConfigs {
debug {
..........
}
release {
..........
}
}
buildTypes {
debug{
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
debuggable true
buildConfigField "boolean", "LOG_ENABLED", "true"
signingConfig signingConfigs.debug
}
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
debuggable false
buildConfigField "boolean", "LOG_ENABLED", "false"
signingConfig signingConfigs.release
}
}
productFlavors{
develFlavor{
}
testFlavor{
..........
}
trainingFlavor{
..........
}
preFlavor{
..........
}
proFlavor{
.........
}
}
}
if (project.hasProperty('storePassword')) {
android.signingConfigs.release.storePassword = storePassword
}
if (project.hasProperty('keyAlias')) {
android.signingConfigs.release.keyAlias = keyAlias
}
if (project.hasProperty('keyPassword')) {
android.signingConfigs.release.keyPassword = keyPassword
}
repositories {
mavenCentral()
}
sourceSets {
test {
java.srcDir file(''src/main/java/es/tempos/gas/sdk/test'')
}
}
dependencies {
unitTestCompile 'junit:junit:4.11'
compile 'com.google.code.gson:gson:1.7.1'
compile 'com.android.support:appcompat-v7:+'
compile files('libs/libGoogleAnalyticsServices.jar')
compile files('libs/sbc_mapslib.jar')
compile files('libs/t21c2dm-lib-v1.0.jar')
}
我想將測試用例放在下一個測試> SDK中
應用程序的結構:
+SmartPhoneGreatApp
----.idea
----app
-----build
-----libs
-----src
-----develFlavor
-----main
----sdk
-----preFlavor
----- .........
........
-----test
------sdk
和測試類 (目前什么都不做)
package es.tempos21.gas.sdk.test;
import org.junit.Test;
public class AuthenticateTest {
@Test
public void testAuthenticate() throws Exception {
}
}
而我得到的錯誤:
Gradle 'SmartPhoneGreatApp' project refresh failed:
Could not find property 'unitTest' on SourceSet container.
Gradle settings
在Android插件中,sourceSets的配置與Java插件的配置不同,因此您應該閱讀http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-上的文檔。 Sourcesets和依賴性
為了測試你需要做這樣的事情:
android {
sourceSets {
androidTest.setRoot('tests')
}
}
一個捷徑就是這樣做:
android.sourceSets.androidTest.setRoot('tests')
請注意,您正在為測試所在的位置提供一個新的頂級目錄(並且Java類將位於與其包路徑對應的下面的目錄結構中); 在你的例子中,你試圖將它指向已經在src / main / java / path / to / package中的包 ,這不會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.