如何摆脱“自动加载测试框架实现依赖项已被弃用”?

Sel*_*ias 1 java gradle spring-boot

我正在尝试构建一个 Spring Boot 应用程序,但是我无法运行我的测试。看起来他们因为我的 build.gradle 而失败了,但是在尝试修复它 2 天后,我想我可能会尝试询问这里是否有人可以提供帮助。\n https://scans.gradle.com/s/m7diapblkqpxk/弃用

\n

构建.gradle:

\n
plugins {\n    id \'org.springframework.boot\' version \'3.2.0\'\n    id \'io.spring.dependency-management\' version \'1.1.4\'\n    id \'java\'\n}\n\ngroup = \'com.fitnessforge\'\nversion = \'0.0.1-SNAPSHOT\'\n\njava {\n    sourceCompatibility = \'20\'\n}\n\nconfigurations {\n    compileOnly {\n        extendsFrom annotationProcessor\n    }\n}\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation \'org.springframework.boot:spring-boot-starter-data-jpa:3.1.2\'\n    implementation \'org.springframework.boot:spring-boot-starter-security\'\n    implementation \'org.springframework.boot:spring-boot-starter-web\'\n    implementation \'com.mysql:mysql-connector-j:8.2.0\'\n    implementation \'javax.persistence:javax.persistence-api:2.2\'\n    compileOnly \'org.projectlombok:lombok\'\n    developmentOnly \'org.springframework.boot:spring-boot-devtools\'\n    annotationProcessor \'org.projectlombok:lombok\'\n    testImplementation(\'org.springframework.boot:spring-boot-starter-test:2.7.14\') {\n        exclude group: \'junit\'\n    }\n    testImplementation \'org.junit.jupiter:junit-jupiter-api\'\n    testRuntimeOnly \'org.junit.jupiter:junit-jupiter-engine\'\n    testImplementation \'org.springframework.security:spring-security-test:6.1.2\'\n}\n\ntasks.named(\'bootBuildImage\') {\n    builder = \'paketobuildpacks/builder-jammy-base:latest\'\n}\n\ntest {\n    useJUnitPlatform()\n    testFramework {\n        useJUnit()\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

用户存储库测试:

\n
package com.fitnessforge.repository;\n\nimport com.fitnessforge.FitnessForgeApplication;\nimport com.fitnessforge.model.User;\nimport com.fitnessforge.repository.UserRepository;\nimport org.junit.jupiter.api.Test;\nimport org.springframework.beans.factory.annotation.Autowired;\n\nimport org.springframework.boot.test.context.SpringBootTest;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.Assertions.assertNotNull;\n\n@SpringBootTest\npublic class UserRepositoryTest {\n\n    @Autowired\n    private UserRepository userRepository;\n\n    @Test\n    public void testSaveUser() {\n        // Erstelle einen neuen Benutzer\n        User user = new User();\n        user.setUsername("testUser");\n        user.setPassword("testPassword");\n        user.setRole("Client");\n\n        // Speichere den Benutzer in der Datenbank\n        User savedUser = userRepository.save(user);\n\n        // \xc3\x9cberpr\xc3\xbcfe, ob der Benutzer korrekt gespeichert wurde\n        assertNotNull(savedUser.getId());\n        assertEquals("testUser", savedUser.getUsername());\n        assertEquals("testPassword", savedUser.getPassword());\n        assertEquals("Client", savedUser.getRole());\n    }\n\n    \n}\n
Run Code Online (Sandbox Code Playgroud)\n

更改 build.gradle 测试部分:

\n
test {\n    useJUnitPlatform()\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我明白了:\n https://scans.gradle.com/s/c6mdkr55724js

\n

aga*_*arg 5

我面临着同样的警告,我所做的就是添加testRuntimeOnly 'org.junit.platform:junit-platform-launcher'到依赖项部分。这已在 eclipse 和 gradle 的 github 存储库(此处此处)上建议。