Тестирование Typescript с помощью Jest в коде Visual Studio не показывает правильные строки исходного кода - PullRequest
0 голосов
/ 26 сентября 2018

Я попытался заставить Jest правильно работать в коде Visual Studio.Хотя я могу отладить Typescript без проблем, я не могу найти правильные строки включенных функций с помощью Jest.

У меня есть тестовый файл, который импортирует мой модуль:

import { Validate } from "./validate";

describe('Test the Validate', () => {
    it('should return true', () => {
        expect(Validate('abc')).toBeTruthy();
    });

    it('should return false', () => {
        expect(Validate('cba')).toBeFalsy();
    });
});

validate.ts:

export function Validate(Text:string):boolean {
    if (Text === 'abc') {
        return true;
    }
    return false;
}

Я ставлю точку останова на строке expect(Validate('abc')).toBeTruthy();, которая, похоже, приводит к остановке кода.Когда я нажимаю F11, чтобы войти в функцию, я перехожу к исходному файлу, но мой курсор находится в конце файла.Может показаться, что я выполняю отладку вместе с F10, но не вижу правильной исходной строки.

Я добавил sourceMaps: true, в мой launch.json.

launch.json

{
    "type": "node",
    "request": "launch",
    "name": "Jest Current File",
    "program": "${workspaceFolder}/node_modules/.bin/jest",
    "args": ["${relativeFile}"],
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen",
    "sourceMaps": true,
    "windows": {
          "program": "${workspaceFolder}/node_modules/jest/bin/jest",
    }
}

Кроме того, использование ts-jest, как показано ниже, не изменило результат:

{
    "type": "node",
    "request": "launch",
    "name": "Jest Current File",
    "program": "${workspaceFolder}/node_modules/.bin/ts-jest",
    "args": ["${relativeFile}"],
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen",
    "sourceMaps": true,
    "windows": {
          "program": "${workspaceFolder}/node_modules/jest/bin/jest",
    }
...