Я работаю с Базелем в javascript с жасмином.Я смог успешно выполнить тесты с моим старым приложением, написанным на простом javascript.
У меня есть приложение, написанное с разметкой ES6, и поэтому я использую babel
.Я могу использовать babel с bazel, используя двоичную цель babel и предварительно компилируя исходные файлы, а затем использую эти цели в правиле nodejs_binary.Это отлично работает.Однако мои тесты не работают ... Базель говорит, что спецификации не найдены.
Очевидно, что Базель не может найти папку спецификации.Я думаю, что это потому, что они предварительно скомпилированы с genrule.Я не уверен, хотя.Это моя единственная подсказка, так как подобное приложение у меня здесь работает нормально.
Есть ли способ обойти это?Я не совсем уверен, как Жасмин работает с Базелем.
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/**/*",
]),
)