Kotlin 프로젝트 への KotlinTest の追加に失敗

10228 단어 kotlintestjunitkotlin



を使ってnestされたわかりやすい Kotlin のtestを作りたかった.既に Ktor 앱리로 Hello World はしていたので、それに追加を試みてみた.


KotlinTest 와 동작 駆動開発



https://qiita.com/rkowase/items/b612e18caa3d5aca5043

rkowase さんの記事によると

kotlinTest という外部 ライブラリを使うと
should というわかりやすい名前のtestを使えるらしい.

https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%98%E3%82%A4%E3%83%93%E3%82%A2%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA

すると、TDD を BDD にして、
Testが仕様書の役割まで兼ねる読みやすいものになるらしい.

結論



結論、既に動いている Ktor apriに KotlinTest を追加するのは無理だった.

なので、새로운 KotlinTest の依存関係の Junit5 を組み込んで Ktor アプリを作ることにする.

KotlinTest を Ktor apriに追加


build.grandle.kts の 종속성 の testImplementation に kotlin("test") を追加



https://kotlinlang.org/docs/jvm-test-using-junit.html#add-the-code-to-test-it

Kotlin の公式 문서 を参考にする.

build.grandle.kts が Node.js の pack.json だと解釈する.

npm install の同等なものは見つからなかったので

dependencies {
    // Other dependencies.
    testImplementation(kotlin("test"))
}


종속성 に testImplementation で
kotlin("테스트") を入れて追加する.

こうやって依存関係を設定ファイルにいれて
再度ビルドスればInstor が走ると仮定する.

tasks.test {
    useJUnitPlatform()
}


task.test という新しい実行を作って,
て useJUnitPlatform を入れる.

빌드시나 오스



再度ビルドする.すると

Execution failed for task ':compileTestKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':compileTestKotlin'
   > Could not resolve all files for configuration ':testCompileClasspath'.
         > Module 'org.jetbrains.kotlin:kotlin-test-junit' has been rejected:
              Cannot select module with conflict on capability 'org.jetbrains.kotlin:kotlin-test-framework-impl:1.7.0' also provided by [org.jetbrains.kotlin:kotlin-test-junit5:1.7.0(junit5Api)]



すると、TestKotlin の実行に失敗する.

Junit 5.1.7을 사용할 수 없습니다.

https://kotlinlang.org/docs/jvm-test-using-junit.html#add-dependencies

公式のページをみると、最初にprojektoを生成する時に
Junit5 を含んで生成するように描いてあった.

프로젝트 구조 에서



GUI가 필요합니다

https://stackoverflow.com/a/19330833



메인/테스트

Open Module Settings の ページがでてくる.

프로젝트 구조/프로젝트 설정/
모듈/의존성/

ここまで開く.

ここで Project Settings/に戻って
도서관 を開き、青い + ボtanを押す.
開いたダルで From Maven を選択する.



すると Web から検索して DL できるモーダルが開く.
ここで junit5 と入力して虫眼鏡botanを押すと


  • com.automation-remarks 의 junit 5.1.{6,7}
  • com.bnorm の junit 0.1.{0,1}
  • com.flowloginx.org の junit の
  • 컨티너, 코어, 부모,


  • 에라멧세이지 に必要だとでてきた 5.1.7 を入れる.

    의존하다 のみ

    ktor の本体に追加

    소스/ktor/lib/に入った.



    Module で読めるようになる.
    내보내기 を 신청 する.

    しかしこれでもエラーがかわらなかった.

    Execution failed for task ':compileTestKotlin'.
    > Error while evaluating property 'filteredArgumentsMap' of task ':compileTestKotlin'
       > Could not resolve all files for configuration ':testCompileClasspath'.
          > Could not resolve org.jetbrains.kotlin:kotlin-test-junit:1.7.0.
            Required by:
                project :
             > Module 'org.jetbrains.kotlin:kotlin-test-junit' has been rejected:
                  Cannot select module with conflict on capability 'org.jetbrains.kotlin:kotlin-test-framework-impl:1.7.0' also provided by [org.jetbrains.kotlin:kotlin-test-junit5:1.7.0(junit5Api)]
          > Could not resolve org.jetbrains.kotlin:kotlin-test-junit5:1.7.0.
            Required by:
                project : > org.jetbrains.kotlin:kotlin-test:1.7.0
    


    もとていたから かもしれない.

    Junit 込で最初から作り直す.

    좋은 웹페이지 즐겨찾기