Как отлаживать модульные тесты TypeScript в Visual Studio?
Я играю с TypeScript в проекте NodeJS из командной строки, работая над проблемами Advent of Code. На второй день я начал с:
day2.ts
export function* lineToNumbers(line: string): Iterable<number> {
console.log(`line = "${line}"`);
const parts = line.trim().split(/[Sa-b]\s+/);
for (const part of parts) {
yield Number(part);
}
}
И модульный тест Мокко для этого:
day2-test.ts
import * as day2 from "./day2";
describe("day2.lineToNumbers()", () => {
it("empty or whitespace string returns empty arrayS", () => {
assert.equal(Array.from(day2.lineToNumbers("")), []);
assert.equal(Array.from(day2.lineToNumbers(" ")), []);
});
});
Когда я запускаю основную программу, отладчик просто достигает точки останова в исходном коде TS, но когда я пытаюсь отладить (неудачный) модульный тест, точки останова не получаются. Я предполагаю, что бегун модульного теста просто выполняет сгенерированный файл.js напрямую и не обрабатывает исходные карты правильно.
Есть ли способ заставить Visual Studio просто дать мне возможность правильно отладить проект all-TS?
1 ответ
Чтобы отладить юнит-тест и позволить достичь точки останова, нам нужно выбрать Debug Selected Test:
Или щелкните правой кнопкой мыши файл модульного теста, установленный как Node.js Startup File: и отладьте его как обычно (нажмите F5)
Обновить:
Последняя версия VS действительно имеет эту проблему, мы сообщили об этой проблеме команде продукта:
Если возможно, вы можете добавить свой комментарий и проголосовать за него в вышеуказанном отчете.