如何解决在节点中使用 Mocha 的代码覆盖问题
我正在学习在 mocha 中为 node js 服务编写测试用例,我已经完成了 package.json 中的所有设置,如下所示
<div class="container">
<div class="logo-clip"></div>
</div>
并在 tsconfig.json 以及下面指定了类型
{
"name": "nodedemo","version": "1.0.0","main": "app.js","scripts": {
"test": "mocha -r ts-node/register ./*.spec.ts --exit","coverage": "nyc npm run test"
},"author": "","license": "ISC","description": "","devDependencies": {
"@types/mocha": "^8.2.2","chai": "^4.3.4","mocha": "^9.0.0","nyc": "^15.1.0","ts-node": "^10.0.0","typescript": "^4.3.2"
},"dependencies": {
"async": "^3.2.0","express": "^4.17.1","joi": "^17.4.0","mongodb": "^3.6.6","mongoose": "^5.12.11","node-cron": "^2.0.3","request": "^2.88.2","underscore": "^1.13.1"
}
}
我有一个 test.service.ts 文件,我的服务代码如下所示
{
"compilerOptions": {
"typeRoots": ["./types","./node_modules/@types"],"module": "commonjs"
},"exclude": [
"node_modules"
]
}
然后我有一个tests.spec.ts文件,我刚刚从那里复制了mocha示例,所以即使我运行npm run coverage,它也会给我报告如下
---------------|---------|---------|---------|--- ------|--------------------
档案 | % stmts | % 分支 | % 函数 | % 行 |未覆盖的行#s
---------------|---------|---------|---------|--- ------|--------------------
所有文件 | 100 | 100 | 100 | 100 |
测试.spec.ts | 100 | 100 | 100 | 100 |
---------------|---------|---------|---------|--- ------|--------------------
spec.ts 中的代码如下
let User = require('./models/user');
let getUserDatas = async () => {
const data = await User();
const userData = await data.find({})
console.log(userData);
}
getUserDatas();
如何将tests.spec.ts文件中的测试用例与tests.ts中的代码连接起来,以便我的覆盖率报告将考虑test.ts文件的覆盖率而不是tests.spec.ts
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。