ссылке есть упоминание kotlintest
Я всё это гуглил, что сверху даже читал и запускал, И несколько дней уже хочу билда с котестом и каким-нибудь альтернативным движком поверх junit5 Получаю массу демотивирующих рекомендаций-посылов, и ничего по существу
И снова повторюсь: "зачем вам это?". Много разных библиотек/фреймворков, покрывающих одну и ту же функциональность в рамках одного проекта - плохо: сложности с конфигурированием и совместным использованием; разношёрстный код, который сложно читать. Плюс не вижу, как вам такой билд поможет с задачей property based testing. https://livebook.manning.com/book/the-joy-of-kotlin/b-property-based-testing-in-kotlin/v-8/81 - подробное описание, включающее прикручивание kotlintest к Junit5
О! Полезная ссылка. Сегодня ознакомлюсь
kotlintest - это старое название kotest
Или тут про kotlin.test?
Ну тогда, судя по статье, всё прикручивание поверх Junit5 сводится к добавлению тестовой зависимости в gradle
там в книжном аппендиксе по вашей ссылке предлагется репа, кстати последний коммит полгода назад https://github.com/pysaumont/fpinkotlin Помогите завести билд (в той Идее, где градл пашет и нет моей позавчерашней "большой" проблемы с ним) В систему свежий градл тоже поставил. При импорте градл билда в идею у меня начинается с жалоб на JAVA_HOME, когда вручную поправил на jdk 11 (в проекте не в системе) - утыкаюсь вот во что: C:\Users\Op\IdeaProjects\fpinkotlin\fpinkotlin-parent>gradlew.bat update Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
Запустите то же самое с -s и возможно увидите, что именно пошло не так
Починил свои окружения, запустил этот билд в идее 2020.3.1. Edu никак не обновят, и в ней сохраняется проблема https://youtrack.jetbrains.com/issue/IDEA-258902 Теперь прошу помощи разобраться с "Test events were not recieved" (в той обновлённой идее, где билд работает) Именно разобраться с причиной - а не грязно пофиксить и быстрее с глаз долой
Причины возможные две. Или не доходит до тестов (ошибка при компилляции), или идея не цепляет тесты. Запустите таску градла test (K-JVM), jvmTests или allTests (MPP). Идея умеет цеплять выводы из нее сама. Дальше можно ходить по тестам и нажимать треугольники. Если таска обламалась, значит смотрите ошибки.
PS> ...\IdeaProjects\fpinkotlin\examples\kotlingradle\MyMultipleProject> gradle test Вне идеи эта таска работает BUILD SUCCESSFUL in 36s 4 actionable tasks: 4 executed В идее - Test events were not recieved
Вы вывод посмотрите, там тесты-то есть? Может вы сломали себе тест систему. Во всяком случае все попытки для этого сделали.
Как подтвердить или опровергнуть ваше предположение? (что "я сломал себе тест систему") В выводе к тестам вроде относится только это: > Task :common:compileTestKotlin w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath: C:/Users/Op/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.50/9fab8887f91c8e17cce1a7522f45dc25976e57b9/kotlin-reflect-1.2.50.jar (version 1.2) C:/Users/Op/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.2.31/95d6a67e8787280a82a2059e54e4db7ac6cfe74/kotlin-stdlib-jdk7-1.2.31.jar (version 1.2) C:/Users/Op/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.21/4a668382d7c38688d3490afde93b6a113ed46698/kotlin-stdlib-1.4.21.jar (version 1.4) C:/Users/Op/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.21/7f48a062aa4b53215998780f7c245a4276828e1d/kotlin-stdlib-common-1.4.21.jar (version 1.4) w: Consider providing an explicit dependency on kotlin-reflect 1.4 to prevent strange errors w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath w: C:\Users\Op\IdeaProjects\fpinkotlin\examples\kotlingradle\MyMultipleProject\common\src\test\kotlin\com\mydomain\mymultipleproject\common\example03\StringGenerator.kt: (46, 10): Parameter 'args' is never used Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.8/userguide/command_line_interface.html#sec:command_line_warnings
Это не та таска. Это как раз можно игнорировать. Проверить, сломали ли вы тесты очень просто - добавьте явно провальный тест и выполнитк
У вас там тесты случаем не в дефолтном пакете (то есть вне пакета)? Я помню, у меня была ситуация, что такие тесты гредл не цеплял. Как раз с пятым JUnit, ЕМНИП.
Вы правы, я "сломал тесты " (ваши слова, мне-то убогому кажется, что я лишь дофига всего починил) И как теперь чинить эти тесты?
Приём, как слышно
Вот этот тест я пытался сломать (в смысле заменил параметр shouldBe) https://github.com/pysaumont/fpinkotlin/blob/master/examples/kotlingradle/MyMultipleProject/common/src/test/kotlin/com/mydomain/mymultipleproject/common/example00/MyKotlinLibraryKtTest.kt но не уверен, что запускал gradle test в правильной директороии
Да не важно, он поднимается вверх до корня проекта. Тесты в пакете, всё норм. Я без идей.
Вы вытянули репу к себе и запустили тесты? Репе полгода, и если "не всё работает" не только у меня - то это проблема экосистемы, а не моя только
Тесты надо запускать в корневом проекте если вы хотите выполнить все
Нет, а обязан был? Я не у компа, и ближайшее время не буду там.
Там навороченный проект, посмотрите же. Хрен поймёшь, где в этом случае корневой
А я там, но своих дел хватает.
вы просто говорите о какой-то проблеме экосистемы, потому что у вас не билдится проект с таргетом на котлин 1.2.71 причём я уверен, что если бы его билдили те, кто сделали репу, которые знают что они делали, у них бы всё ок было.
Я давно поменял котлин на свежий
в градле он остался тот же. или вы поменяли там котлин и думаете, что никаких сайд эффектов от этого не будет? вообще очень много факторов есть и экосистема тут не причём.
Градл тоже 6.8.1
Обсуждают сегодня