我正在尝试在当前目录中使用bazel运行茉莉花测试,但是它抱怨没有找到任何规格。
我认为这与我提供的“ srcs”变量有关。
我尝试了[":spec/test.spec.ts"]
和[":spec"]
,但是都没有用。
我使用的命令:bazel run // packages / core:unit_test
文件目录:
根
-包装
-核心
--- spec
---- test.spec.ts
jasmine_node_test(
name = "unit_test",
srcs = [":spec/test.spec.ts"],
deps = [
"@npm//jasmine"
],
)
test.spec.ts
describe("A suite is just a function", function() {
var a;
it("and so is a spec", function() {
a = true;
expect(a).toBe(true);
});
});
Package.json
"devDependencies": {
"@bazel/bazel": "^0.24.1",
"@bazel/buildifier": "^0.22.0",
"@bazel/ibazel": "^0.10.2",
"@bazel/typescript": "^0.28.0",
"@types/node": "^12.0.0",
"tslib": "^1.9.3",
"typescript": "^3.4.5"
},
"dependencies": {
"@bazel/jasmine": "^0.32.2",
"@types/jasmine": "^3.3.13",
"jasmine": "^3.4.0"
}
我希望测试能够成功运行。
答案 0 :(得分:0)
尝试使用受bazelbuild/rules_nodejs/examples的规则启发而来的glob
。
srcs = glob(["*.spec.ts"]),
答案 1 :(得分:0)
我在使用Bazel的示例应用程序中尝试了您的代码,似乎您需要将代码转换为JS ,因为您正试图在JS测试运行器中运行.ts文件。>
注意:在您的情况下,只需将其重命名为*.js
(我已选中)即可。
BUILD.bazel
load("@npm_bazel_typescript//:index.bzl", "ts_library")
load("@npm_bazel_jasmine//:index.bzl", "jasmine_node_test")
ts_library(
name = "files_to_compile",
srcs = ["test.spec.ts"]
)
jasmine_node_test(
name = "sampletest",
srcs = [":files_to_compile"]
)
OR
load("@npm_bazel_jasmine//:index.bzl", "jasmine_node_test")
jasmine_node_test(
name = "sampletest",
srcs = ["test.spec.js"]
)