当前位置: 首页 > 知识库问答 >
问题:

新gradle和android sdk版本的机器人电动问题

华昕
2023-03-14

直到最近,我以前可以很好地使用roboelectric和gradle。我一直得到一个错误< code >错误:(6,17)错误:包org.junit不存在。我不太确定,并对此进行了深入研究。

以下是我的项目build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

allprojects {
    repositories {
        mavenCentral()
        jcenter()
    }
}

以下是我的应用程序版本:

repositories {
    mavenCentral()
    jcenter()
}

apply plugin: 'com.android.application'

android {
    ...

    sourceSets {
        androidTest.setRoot('src/test')
    }
}


dependencies {
    ...

    // Testing
    compile project(':core')
    testCompile 'org.robolectric:robolectric:2.4'
    testCompile 'junit:junit:4.+'
    testCompile 'org.easytesting:fest:1.0.16'
    testCompile 'com.squareup:fest-android:1.0.8'
}

我的核心项目build.gradle:

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    testCompile 'org.robolectric:robolectric:2.4'
}

我已经阅读了以下有关这方面的内容,但这里没有任何内容对我有效:

https://www.bignerdranch.com/blog/all-in-together-android-studio-gradle-and-robolectric/ - 要使用的Android Studio插件在较新的Android Studio版本上崩溃。

https://www.bignerdranch.com/blog/triumph-android-studio-1-2-sneaks-in-full-testing-support/-这根本解决不了问题。它找不到org.junit。

https://discuss.gradle.org/t/why-cant-my-simplest-one-line-build-gradle-compile-tests-with-junit-jar/1868

有谁能给我指出正确的方向吗?为什么它无法从< code>build.gradle中检测到< code>org.junit?

共有2个答案

楚威
2023-03-14

昨天我也面临problem.Atlast我得到了解决办法。

该错误是由于您为测试类创建了java文件夹作为java文件夹,该文件夹在Android Studio中显示为蓝色。实际上你需要绿色

对于测试,你只需要创建带有java名称的文件夹,其他一切都将由Android Studio本身完成。

用于删除 Java 文件夹依赖项,您可以删除

  sourceSets {
    androidTest.setRoot('src/test')
}

build.gradle中的代码

那一切都会好起来的

鲁阳焱
2023-03-14

您必须将构建变体测试工件设置为单元测试

我不再需要“核心”项目,所以我删除了它。我的应用程序的build.gradle如下所示:

repositories {
    jcenter()
}

apply plugin: 'com.android.application'

android {
    ...
    sourceSets {
        androidTest.setRoot('src/test')
    }
}

dependencies {
    ...

    // Testing
    testCompile 'junit:junit:4.12'
    testCompile 'org.easytesting:fest:1.0.16'
    testCompile 'com.squareup:fest-android:1.0.8'
    testCompile('org.robolectric:robolectric:3.0-rc2') {
        exclude group: 'commons-logging', module: 'commons-logging'
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }
}
 类似资料:
  • 我需要将targetSdkVersion和所有依赖项更新到版本25,并将JAVA_HOME设置为JDK1.8。谢谢,阿比谢克·雅利安

  • 这不是重复的:| 我添加了一个用于管理goup的新机器人。通过此信息: 我的机器人是管理员 我的机器人隐私被禁用 “启用”-您的机器人只会接收以“/”符号开头或通过用户名提及机器人的消息。“禁用”-您的机器人将接收人们发送到组的所有消息。当前状态是:禁用成功!新状态是:禁用 bot可以读取除其他bot消息外的所有成员!但可以在回复中看到信息。 我的tg api是:https://github.co

  • 1、接口声明 在调用接口时必须在https请求的header中携带"token"参数。 token是智齿客服接口开放平台全局唯一的接口调用凭据。 开发者在调用各业务接口时都需使用token,开发者需要进行妥善保存。token的存储至少要保留32个字符空间。token的有效期目前为24个小时,需定时刷新,或根据接口返回的token失效提示,进行重新获取。请求token接口,无论token是否存在,都

  • 我有两个问题与编程电报机器人的PHP。 问题:当我尝试使用电报API发送更多行的文本时。根据此代码: 我在电报机器人中的文字如下: “这是我的短信。这是新线。” 你能帮我做这个吗? 谢谢你

  • 我想让我的电报机器人根据机器人问的最后一个问题来处理用户输入。基本上,这就是流程: 用户调用/authenticate命令 机器人请求电子邮件 用户发送电子邮件 bot会回答一条关于将代码发送到用户电子邮件以进行确认的消息,并要求用户在聊天中键入代码 用户键入代码 机器人验证用户代码,用户通过身份验证并开始接收通知 问题是:我如何知道用户在这个流中回答的是特定的bot问题? 将最后一个bot消息存

  • 我无法理解电报机器人api的Reply_to_message方法。以下是我的代码: 这里,当用户发送/启动机器人发送hello world文本。我想让用户回复发送hello world的消息。我的意思是当用户发送/启动机器人回复信息的文本“你好,世界!” 我使用网络钩子。