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を押すと
dependencies {
// Other dependencies.
testImplementation(kotlin("test"))
}
tasks.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)]
에라멧세이지 に必要だとでてきた 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 込で最初から作り直す.
Reference
이 문제에 관하여(Kotlin 프로젝트 への KotlinTest の追加に失敗), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/kotlin-project-heno-kotlintest-nozhui-jia-nishi-bai-3pd6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)