Отладка жасминовых тестов, написанных на узле машинописи в коде - PullRequest
0 голосов
/ 06 мая 2018

У меня есть свои модульные тесты, написанные на жасмине, и те, что в машинописи

// about.service.spec.ts
// say 4 to 5 test cases

// spec/support/jasmine.json
{
  "spec_dir": "src/tests/",
  "spec_files": ["**/*.spec.ts"],
  "helpers": ["jasmine-helpers/**/*.ts"],
  ...
}

// launch.json - vscode file
{
  "version": "0.2.0",
  "configurations": [{
      "type": "node",
      "request": "launch",
      "name": "Jasmine tests",
      "preLaunchTask": "debuggertests",
   }]
}

// tasks.json - vscode 
{
 "version": "2.0.0",
 "tasks": [{
    "label": "debuggertests",
    "type": "npm",
    "script": "test:unit",
    "problemMatcher": []
  }]
}

// package.json
// have to use jasmine-ts which is flavor over ts-node
"test:unit": "jasmine-ts JASMINE_CONFIG_PATH=spec/support/jasmine.json"

Я использовал эту конфигурацию для отладки файлов .spec.ts в vscode, но он не запустил отладчик, вместо этого он запустил все тесты и отладка началась.

Я установил точку останова в одном из тестовых случаев about.service.spec.ts, но точка останова не сработала. Может ли кто-нибудь помочь мне настроить отладку vscode для тестов с жасмином?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

В новой версии jasmine-ts вы должны включить в аргументы jasmine.json следующим образом:

{
  "type": "node",
  "request": "launch",
  "name": "Jasmine Current File",
  "program": "${workspaceFolder}/node_modules/jasmine-ts/lib/index",
  "args": ["--config=jasmine.json", "${file}"],
  "console": "integratedTerminal",
  "internalConsoleOptions": "neverOpen"
}

Чтобы избежать этой проблемы:

Спецификации не найдены Закончено за 0.003 секунды Incomplete: спецификации не найдены Рандомизировано с семенем 60766 (жасмин --random = true --seed = 60766)

0 голосов
/ 29 июня 2018

Ниже конфигурации будет отлаживать текущий тестовый файл - пожалуйста, откройте необходимый тестовый файл в VS Code и начните отладку с этой конфигурацией:

{
      "type": "node",
      "request": "launch",
      "name": "Jasmine Current File",
      "program": "${workspaceFolder}/node_modules/jasmine-ts/lib/index",
      "args": ["${file}"],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
 }
...