我一直在玩尚未编写测试的Typescript项目。(提交添加测试)
我尝试了两种添加以Typescript编写的测试的不同方法。
这两种方法目前都可以使用,并且可以通过正常的任务启动/调试来进行调试。
但是,我尝试了2种不同的VSCode扩展,以便为测试浏览器添加支持以运行这些测试,获得更好的GUI和自动反馈,可视化覆盖范围等。
他们都没有拿起我使用默认配置编写的测试。他们两个都有关于如何设置以Typescript编写的测试的稀疏文档
在网上找到的所有博客文章,目前似乎与从命令行/任务启动进行的测试有关。
如何配置Mocha-Sidebar或Mocha-Test-Explorer或某些其他Test Explorer Adapter以便与该提交中的测试一起使用。
并且有可能不将进一步的配置文件提交到git存储库,而是让某人分叉该项目并能够运行测试。
例如BDD样式,位于测试文件夹中,其名称类似于test/hello-world.test.ts
用Typescript编写的名称,并具有完全调试支持。
调用摩卡
当你调用mocha
通过命令行,的package.json,或launch.json,您提供的摩卡与两个重要信息:
--require
标志,指定要加载的任何其他模块。当使用一个或两个提到的VSCode扩展时,需要为这两个关键信息提供扩展。
配置扩展
这两个扩展有很多重叠,因此我建议使用其中一个。我个人比较喜欢Mocha Test Explorer。我发现Mocha侧边栏在运行较大的测试套件时过慢。无论如何,它们的配置方式都非常相似:
摩卡浏览器
告诉它测试在哪里,并ts-node
用于即时编译。这些设置在settings.json
用户级别或项目级别进入。
"mochaExplorer.files": "test/**/*.test.ts",
"mochaExplorer.require": [
"ts-node/register",
],
摩卡边栏
用稍有不同的话告诉它同一件事:
"mocha.requires": [
"ts-node/register",
],
"mocha.files.glob": "test/**/*.test.ts"
覆盖可视化
为了在VSCode中可视化coverage数据,您可以尝试诸如coverage- gutters之类的方法。我发现您提到的两个扩展都不对实际查看我的覆盖率数据有用。
在哪里应用这些设置?
为了确保新加入该项目的开发人员可以“扎根”,我喜欢将这种配置检入到项目中,例如.vscode/settings.json
。
项目之间的通配模式通常会有所不同,给定项目所需的模块也会有所不同--require
。因此,对于我来说,这种配置与项目一起存在是很有意义的。
工作实例
我克隆了您的项目,并将以上配置添加到.vscode/settings.json
:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句