2017-10-12 140 views
2

试图遵循thisthis但没有任何运气。Android Studio 3.0“JUnit版本3.8或更高版本”

我正在使用Android studio 3.0和junit 4.12。 10.视窗

我曾尝试:

  1. 移动JUnit的依赖了(试过测试编制和实施范围) enter image description here
  2. 删除运行测试 - 编辑配置... - 全部删除在Android的JUnit和Android应用程序 enter image description here


我graddle看起来像这样:

apply plugin: 'kotlin' 

dependencies { 
    implementation project(':domain') 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompileOnly 'junit:junit:4.12' 
    testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" 
    implementation 'com.android.support:appcompat-v7:26.1.0' 
    implementation 'io.reactivex.rxjava2:rxkotlin:2.1.0' 
    testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 
    testImplementation 'com.nhaarman:mockito-kotlin:1.1.0' 
    testImplementation 'org.amshove.kluent:kluent:1.14' 
    implementation 'com.google.api.client:google-api-client-repackaged-com-google-common-base:1.2.3-alpha' 
    implementation 'com.squareup.retrofit2:retrofit:2.3.0' 
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0' 
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0' 
} 

我的测试看起来像这样:

package ***.roompanel.data; 

import com.google.gson.FieldNamingStrategy; 
import com.google.gson.Gson; 
import com.google.gson.TypeAdapterFactory; 
import ***.roompanel.data.RestApi.ApiFieldNamingStrategy; 
import ***.roompanel.data.RestApi.ApiGsonBuilder; 
import ***.roompanel.data.RestApi.ApiItemTypeAdapterFactory; 
import ***.roompanel.data.RestApi.ApiService; 
import ***.roompanel.data.RestApi.IApiService; 
import ***.roompanel.data.repository.EventRepository; 
import ***.roompanel.domain.model.event.Event; 
import ***.roompanel.domain.repository.IEventRepository; 

import org.junit.Before; 
import org.junit.Test; 

import java.util.Date; 
import java.util.List; 

import static org.junit.Assert.assertNotNull; 


public class EventRepositoryTest { 
    IEventRepository repo; 

    @Before 
    public void setUp() { 
     TypeAdapterFactory typeAdatperFactory = new ApiItemTypeAdapterFactory(); // system to 
     FieldNamingStrategy fieldNamingStrategy = new ApiFieldNamingStrategy(); 
     Gson gson = new ApiGsonBuilder(typeAdatperFactory, fieldNamingStrategy).build(); 

     IApiService service = new ApiService(gson); 
     this.repo = new EventRepository(service); 
    } 

    @Test 
    public void events_void_success() throws Exception { 
     Date start = new Date(2017,10,01); 
     Date end = new Date(2017,10,12); 

     List<Event> events = (List<Event>) repo.load(start, end); 

     assertNotNull(events); 
    } 
} 

UPDATE:

./gradlew测试

BUILD在25秒 53可操作任务成功:30执行,23升最新

堆栈跟踪:

java.lang.RuntimeException: Stub! 
    at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5) 
    at junit.textui.TestRunner.<init>(TestRunner.java:54) 
    at junit.textui.TestRunner.<init>(TestRunner.java:48) 
    at junit.textui.TestRunner.<init>(TestRunner.java:41) 
    at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:224) 
    at com.intellij.rt.execution.junit.JUnitStarter.canWorkWithJUnitVersion(JUnitStarter.java:207) 
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:61) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) 
+0

变化testCompileOnly到testImplementation – piotrek1543

+0

在我试图说 - 没有帮助 – pandemic

+0

尝试从终端.... – tynn

回答

0

这是解决不了问题,只是一个混乱的解决方法(因为太花时间来解决它):

卸载并再次安装android studio 3.0。不要将 kotlin插件和android studio更新为新版本。

相关问题