При выполнении теста Жасмин через Базель спецификации не найдены - PullRequest
4 голосов
/ 04 июля 2019

Я пытаюсь запустить тест жасмина с использованием bazel в моем текущем каталоге, но он жалуется на то, что спецификации не найдены.

Я думаю, что это как-то связано с переменной "srcs", которую я предоставляю. Я пробовал [":spec/test.spec.ts"] и [":spec"], но ни один не работает.

Используемая команда: bazel run // packages / core: unit_test

Каталог файлов:

корень

-packages

- ядро ​​

--- спецификация

---- 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"
  }

Я ожидаю, что тест будет успешно выполнен.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я попробовал ваш код в примере приложения с использованием Bazel, и кажется, что вам нужно перенести код в JS , потому что вы пытаетесь запустить файл .ts в средстве выполнения JS .

Примечание: в вашем случае достаточно простого переименования в *.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"]
)
0 голосов
/ 04 июля 2019

Попробуйте использовать glob, который основан на правилах из bazelbuild / rules_nodejs / examples .

srcs = glob(["*.spec.ts"]),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...