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

Spring Boot项目的JUnit和Mockito依赖关系

西门飞翮
2023-03-14

为了在我的spring boot项目上运行单元测试,我尝试使用JUnit和Mockito,但是很难找到如何在我的gradle项目的build.gradle文件中设置依赖项。下面是build.gradle文件:

plugins {
    id 'org.springframework.boot' version '2.2.2.RELEASE'
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'org.flywaydb.flyway' version '7.1.1'
    id 'java'
    id 'war'
}

targetCompatibility = 1.11
sourceCompatibility = 1.11

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
    maven {
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

flyway {
    url = System.getenv('HW_DATABASE_URL')
    user = System.getenv('HW_DATABASE_USER')
    password = System.getenv('HW_DATABASE_PASSWORD')
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    implementation 'org.apache.tiles:tiles-core:3.0.8'
    implementation 'org.apache.tiles:tiles-jsp:3.0.8'
    implementation 'javax.servlet:jstl:1.2'
    implementation 'mysql:mysql-connector-java:8.0.18'
    implementation 'org.hibernate:hibernate-core:5.4.9.Final'
    implementation 'org.hibernate:hibernate-entitymanager:5.4.9.Final'
    implementation 'javax.xml.bind:jaxb-api:2.3.1'
    implementation 'org.springframework.security:spring-security-taglibs:5.2.1.RELEASE'
    implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20190610.1'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.3'
    providedCompile 'org.apache.tomcat.embed:tomcat-embed-jasper'
    compile 'org.apache.commons:commons-text:1.9'
    compile 'commons-validator:commons-validator:1.7'
    compile 'org.flywaydb:flyway-core:7.1.1'
    compile 'org.springdoc:springdoc-openapi-ui:1.2.32'
    testCompile 'junit:junit:4.13.1'
    testCompile 'org.mockito:mockito-core:3.6.48'
}

现在我得到的错误是“不能解析org.Mockito:mockito-core:3.6.48”,我甚至不知道是否从https://github.com/Mockito/Mockito/releases下载了正确的Mockito文件夹。因此,到目前为止,没有一个junit或mockito导入被识别。如果有任何帮助,我们将不胜感激,谢谢。

共有1个答案

施飞鸿
2023-03-14

问题是Mockito版本不存在于Maven存储库中。Mockito的最后一个版本是3.6.28。签入此页面Maven存储库

 类似资料:
  • 我正在尝试学习spring boot,但有一个测试案例失败了。我有下面的pom文件,其中包含了< code > spring-boot-starter-test 依赖项。据我所知,它应该从测试库拉必要的库,包括Mockito,JUnit等。在我的测试用例文件中,尽管我在maven dependencies下看到了JUnit jar,但是导入并没有得到解析。您能指导我解决这个问题吗,这样我就可以成功

  • 我有一个J2ee项目,它使用了诸如Jsf、EJB、持久性API等技术。但是我怎么知道这些模块需要的wich版本。例如: 现在,我在maven中央存储库中查找这些信息:GroupId、ArtifactID和最新版本。但有一个更简单的方法做到这一点?

  • 在之前提到的多项目配置中,:libraries:lib1 和 :libraries:lib2 可以是 Java 项目,并且 :app 这个 Android 项目将会使用它们输出的 jar 包。然而,如果你想这部分代码能够访问 Android APIs 或者使用 Android 的资源,那么这些 Library 项目就不能是 Java 项目,只能是 Android Library 项目。

  • Gradle 项目可以依赖于其它组件,这些组件可以是外部二进制包,或者是其它的 Gradle 项目。

  • 我是maven的新手。(我已经搜索了几个小时的答案,但没有运气。mvn依赖:复制依赖不能解决我的问题)我需要复制项目的所有依赖项(以jar的形式),如果我的一个jar依赖于另一个工件,也复制该工件。 示例project1 pom。xml: “project1”依赖于project2。人工制品罐子当我使用“mvn依赖项:复制依赖项”时,我得到了project2。人工制品但我没有得到project3。

  • 我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认