我正在用茉莉花在JavaScript中使用bazel。我已经能够使用纯JavaScript编写的旧应用程序成功运行测试。
我有一个使用ES6标记编写的应用程序,因此我使用babel
。我能够将babel与bazel结合使用的方式是通过具有二进制babel目标并预编译源文件,然后在nodejs_binary规则中使用这些目标。
很好但是我的测试无法正常进行。...bazel说未找到任何规格。
显然bazel无法找到spec文件夹。我认为这是因为它们已经预先编译过。我不确定。自从我在这里使用类似的应用程序以来,这是我唯一的线索。
有没有解决的办法? 我不确定Jasmine如何与淡褐色搭配使用。
jasmine_node_test(
name = "tests",
data = [
":compiled_src",
":compiled_test",
],
node_modules = "@npm_deps//:node_modules",
)
# Compile source files with babel
genrule(
name = "compiled_src",
srcs = [
":src_files",
],
outs = ["src"],
cmd = "$(location babel) src --out-dir $@",
tools = [":babel"],
)
genrule(
name = "compiled_test",
srcs = [
":test_files",
],
outs = ["spec"],
cmd = "$(location babel) spec --out-dir $@ ",
# output_to_bindir = 1,
tools = [":babel"],
)
nodejs_binary(
name = "babel",
entry_point = "npm_deps/node_modules/babel-cli/bin/babel",
install_source_map_support = False,
node_modules = "@npm_deps//:node_modules",
)
filegroup(
name = "src_files",
srcs = glob([
"src/**/*",
]),
)
filegroup(
name = "test_files",
srcs = glob([
"spec/**/*",
]),
)