tsParticles - TypeScript 粒子效果器
一个轻量级的 TypeScript 粒子系统库。它无依赖 (*),支持浏览器,并兼容 React.js、Vue.js(2.x 和 3.x)、Angular、Svelte、jQuery、Preact、Inferno、Riot.js、Solid.js 和 Web Components。
我在 2020 年写了一篇文章,介绍如何在 TypeScript 项目中使用 Mocha/Chai,我在tsParticles中使用它(如果你喜欢,请点个赞🌟,它是免费的👀)。
一个轻量级的 TypeScript 粒子系统库。它无依赖 (*),支持浏览器,并兼容 React.js、Vue.js(2.x 和 3.x)、Angular、Svelte、jQuery、Preact、Inferno、Riot.js、Solid.js 和 Web Components。
从那以后,我对我的代码库进行了一些更改,这些更改可能对某些人有所帮助。
之前的包裹内容如下:
npm install chai mocha ts-node @types/chai @types/mocha --save-dev
但我现在建议安装这些。
npm install chai mocha ts-node cross-env @types/chai @types/mocha --save-dev
如果你看不出区别,我添加cross-env了依赖项。
命令test也发生了变化,使用了在所有环境下都能正常工作的命令cross-env。env
旧命令是:
"test": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'tests/**/*.ts'"
新的是:
"test": "cross-env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register 'tests/**/*.ts'"
或者,您也可以使用此命令为测试创建自定义 tsconfig 文件。
"test": "env TS_NODE_PROJECT='./tsconfig.test.json' mocha -r ts-node/register 'tests/**/*.ts'"
如果想要更简洁的命令,可以创建一个.mocharc.json类似这样的文件:
{
"extension": [
"ts"
],
"spec": "tests/**/*.ts",
"require": [
"jsdom-global/register",
"ts-node/register",
"source-map-support/register"
],
"recursive": true
}
以及该命令
"test": "cross-env TS_NODE_PROJECT='./tsconfig.test.json' mocha"
从那以后,我开始使用这个软件包nyc,它对于查看有多少代码被测试覆盖非常有用。
它使用起来非常方便,而且不会干扰mocha或chai。
安装方法如下:
npm install nyc --save-dev
你可以nyc直接nyc在前面加上mocha. 像这样:
"test": "cross-env TS_NODE_PROJECT='./tsconfig.test.json' nyc mocha"
现在运行测试时,您将看到一个表格,其中包含测试调用的每个文件,以及未覆盖的行和百分比。
祝大家 TypeScript 测试愉快!
如果您想支持我,这是我的GitHub 赞助者个人资料。
文章来源:https://dev.to/matteobruni/mochachai-with-typescript-2023-update-281f