質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.59%

Spring BootにおけるJUnitがUnresolvedになる。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 673

khkhkh

score 20

Spring BootにおけるJUnitがUnresolvedになる。 

概要

現在、Kotlin + SpringBootを参考書を使用して入門中です。
そこで、参考書通りにJUnitを使用したテストコードを書き、% gradle testを実行したところ下記のようなエラーが発生しました。ライブラリが正常にインポートされていないのは理解できています…。
自分なりに色々調べてみましたが解決せず…。
どなたか解決方法のご教授お願いいたします。

エラー内容

> Task :compileTestKotlin FAILED
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (6, 18): Unresolved reference: Before
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (7, 18): Unresolved reference: Test
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (8, 30): Unresolved reference: Before
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (10, 18): Unresolved reference: runner
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (21, 2): Unresolved reference: RunWith
e: /Users/kondohiroki/IdeaProjects/demo_db/src/test/kotlin/com/example/hello_db_app/demo_db/ControllerTests.kt: (30, 6): Unresolved reference: BeforeEach

該当のソースコード

// ControllerTests.kt

package com.example.hello_db_app.demo_db.controllers

import com.example.hello_db_app.demo_db.MainController
import com.example.hello_db_app.demo_db.User
import org.aspectj.lang.annotation.Before
import org.junit.Before
import org.junit.Test
import org.junit.jupiter.api.Before
import org.junit.jupiter.api.Test
import org.junit.runner.RunWith
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.http.MediaType
import org.springframework.test.context.jdbc.Sql
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
import org.springframework.test.web.servlet.MockMvc
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.*
import org.springframework.test.web.servlet.setup.MockMvcBuilders

@RunWith(SpringJUnit4ClassRunner::class)
@SpringBootTest
class ControllerTests {

    テスト処理...略

}
// build.gradle.kts

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "2.2.2.RELEASE"
    id("io.spring.dependency-management") version "1.0.8.RELEASE"
    kotlin("jvm") version "1.3.61"
    kotlin("plugin.spring") version "1.3.61"
    kotlin("plugin.jpa") version "1.3.61"
}

group = "com.example.hello_db_app"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    runtimeOnly("com.h2database:h2")
    testImplementation("org.springframework.boot:spring-boot-starter-test") {
        exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    }
}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina1979

    2020/01/18 22:12

    JUnit 4 の記述してるのに
    exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
    してるから当然じゃね?

    キャンセル

回答 1

check解決した方法

0

excludeで除外しているところを修正したところ解決いたしました!
ありがとうございました!!

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.59%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る