【问题标题】:Bazel with Java CucumberBazel 配爪哇黄瓜
【发布时间】:2023-02-17 16:56:09
【问题描述】:
有人可以分享一些在 Bazel 中构建的 Java Cucumber 测试示例项目吗?
我有一组使用 Maven 构建的工作测试,但需要将它们传输到 Bazel,我无法真正理解从 .feature 文件执行场景所需的 BUILD 文件的结构。
非常感谢任何帮助!
在多次失败后,我能够构建 Bazel 项目,但由于步骤定义类未正确粘合以及无法提供我的 .feature 文件的路径,测试将失败。
【问题讨论】:
标签:
cucumber-java
bazel-java
【解决方案1】:
将 Bazel 与 Java Cucumber 结合使用的基本步骤:
-
将 Cucumber Java 依赖项添加到您的项目中。您可以通过将以下内容添加到您的 BUILD 文件中来执行此操作:
maven_jar(
名称=“黄瓜核心”,
artifact = "io.cucumber:cucumber-core:5.5.0", )
-
将 JUnit 依赖项添加到您的项目。您可以通过将以下内容添加到您的 BUILD 文件中来执行此操作:
maven_jar(
名称=“联合”,
神器=“junit:junit:4.13”,
)
-
创建一个 Bazel 规则来运行 Cucumber 测试。您可以通过将以下内容添加到您的 BUILD 文件中来执行此操作:
load("@io_bazel_rules_java//java:defs.bzl", "java_test")
java_test(
name = "cucumber_test",
srcs = glob(["**/*Test.java"]),
resources = glob(["**/*.feature"]),
deps = [
"//path/to/your/source:source",
"@maven//:cucumber-core",
"@maven//:junit",
],
main_class = "cucumber.api.cli.Main",
args = ["--plugin", "pretty"],
)
- 通过运行以下命令使用 Bazel 运行测试:
bazel 测试 //path/to/your/test:cucumber_test
这将运行项目中的所有 Cucumber 测试并输出结果。您可以通过修改 Bazel 规则中的 args 字段来自定义 Cucumber 配置。