Android Studio 3.0" JUnit 3.8或更高版本预期"

时间:2017-10-12 11:58:22

标签: java android junit kotlin

尝试关注thisthis,但没有任何运气。

我正在使用Android studio 3.0和junit 4.12。 Windows 10。

我尝试过:

  1. 移动junit依赖(尝试测试编译和实现范围) enter image description here
  2. 删除运行中的测试 - 编辑配置... - 在Android JUnit和Android App下删除所有 enter image description here
  3. 我的分层看起来像这样:

    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);
        }
    }
    

    更新:

    ./ gradlew test

    在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)
    

1 个答案:

答案 0 :(得分:0)

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

  

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