Kotlin Тесты JUnit5 с использованием цели Bazel не найдены - PullRequest
0 голосов
/ 17 марта 2020

У меня есть проект Bazel в Kotlin, и я пытаюсь запустить модульные тесты с JUnit 5. Вот мои цели:

kt_jvm_library(
    name = "lib",
    srcs = glob(["src/main/kotlin/**/*.kt"]),
)

kt_jvm_test(
    name = "tests",
    main_class = "org.junit.platform.console.ConsoleLauncher",
    args = [
        "--select-package=com.acme",
    ],
    srcs = glob(["src/test/kotlin/**/*.kt"]),
    deps = [
        ":lib",
        "@maven//:org_junit_jupiter_junit_jupiter_api",
        "@maven//:org_junit_jupiter_junit_jupiter_engine",
        "@maven//:org_junit_jupiter_junit_jupiter_params",
        "@maven//:org_junit_platform_junit_platform_console",
    ],
)

Когда я запускаю bazel run //:tests, я получаю такой вывод:

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

╷
└─ JUnit Jupiter ✔

Test run finished after 43 ms
[         1 containers found      ]
[         0 containers skipped    ]
[         1 containers started    ]
[         0 containers aborted    ]
[         1 containers successful ]
[         0 containers failed     ]
[         0 tests found           ]
[         0 tests skipped         ]
[         0 tests started         ]
[         0 tests aborted         ]
[         0 tests successful      ]
[         0 tests failed          ]

Как видите, тесты не найдены. Что не так с моей конфигурацией?

1 Ответ

0 голосов
/ 18 марта 2020

Я нашел ошибку. Имя моих тестовых классов не соответствует шаблону *Test.kt, но *Should.kt. Когда я изменил их имя на совпадение с *Test.kt, были найдены тесты, все начало работать.

Однако я приму этот ответ как правильный, если кто-нибудь знает, как я могу сохранить стиль именования своих тестовых классов и сделать это работает, это будет оценено.

...