当前位置: 首页 > 知识库问答 >
问题:

如何调试Visual Studio中的TypeScript单元测试?

濮丁雷
2023-03-14

我正在一个命令行NodeJS项目中使用TypeScript,处理代码问题。第2天,我从以下几点开始:

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);
    }
}

和摩卡咖啡单元测试:

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文件,没有正确处理源映射。

有没有办法强迫VisualStudio让我正确调试一个全TS项目?

共有1个答案

闻人宏盛
2023-03-14

或者右键单击设置为节点的单元测试文件。js启动文件:正常调试(按F5)

更新:

最新的VS版本确实存在此问题,我们已向产品团队报告此问题:

https://developercommunity.visualstudio.com/content/problem/184931/vs2017-1554-debugging-typescript-unit-test-the-bre.html

如果可能,您可以添加您的评论并在上述报告中投票。

 类似资料:
  • 我在pycharm中调试单元测试时遇到问题。我可以使用我的配置很好地运行它们,但当我运行调试器时,会得到以下错误输出: 我的目录结构是: 我的unittest配置是: 看起来像: 做什么?如何确保在调试期间找到它?问题实际上与正在查找的文件/目录无关吗?

  • 单元测试,对独立的代码功能片段,由编写代码的团队进行测试,也是一种编码,而非与之不同的一些事情。设计代码的一部分就是设计它该如何被测试。你应该写一个测试计划,即使它只是一句话。有时候测试很简单:“这个按钮看起来好吗?”,有时候它很复杂:“这个匹配算法可以精确地返回正确的匹配结果?”。 无论任何可能的时候,使用断言检查以及测试驱动。这不仅能尽早发现 bug,而且在之后也很有用,让你在其他方面担心的谜

  • 我使用PyCharm来运行一个相当大的测试套件(1800个快速测试)。最近修改了一个测试,我意识到我的测试不会出错。当我单独运行这些测试时,确实会中断,但是如果我运行整个测试套件,它们总是会通过。这是由于一些以前的同事对类的这种不正确的嘲笑: 我现在需要检查整个测试套件中模拟的使用情况,但是我想单独运行每个测试,看看哪些测试没有通过(我将这些测试标记为高优先级)。我怎么能从控制台或Py魅力中做到这

  • 我通过以下命令克隆了Guava的存储库: 不幸的是,我收到了以下错误(在这里可以查看整个输出)。 如何运行Guava的单元测试?

  • 这是我在Python中的第一个项目,我刚刚学习了框架。测试模块运行良好,当我做,但当我想执行某个类或方法,如留档中所说,使用: 我得到以下错误: 我运行命令的目录包含(我还尝试将名称更改为),带有和方法都以开头,这里是我在终端上运行的命令: 我在任何地方都找不到类似的问题,知道错误背后的原因以及如何在模块或方法内部运行某个类将是非常好的

  • 我正在尝试测试我的PreUpdateEventListener流,但我似乎无法使其在JUnit测试中工作。我没有收到任何错误,但没有调用代码。 我的PreUpdateEventListener: 测试: 我曾尝试将SessionFactory注入测试并调用SessionFactory#flush方法,但这不会引发CurrentContextSession错误,我似乎无法修复。