【发布时间】:2016-02-24 18:39:43
【问题描述】:
关于使用 istanbul 进行集成测试的文档非常少。当我运行 mocha 测试时,我得到No coverage information was collected, exit without writing coverage information。
我做的第一件事是检测我的所有源代码:
✗ istanbul instrument . -o .instrument
在我的例子中,这是一个 Docker 化的 REST 微服务,我已经编写了 Mocha 测试来针对它运行,以便在部署后对其进行验证。我的期望是伊斯坦布尔将为我提供针对该 Node 服务源的代码覆盖率。
我执行此命令的第二步是在我的检测代码上运行节点:
✗ istanbul cover --report none .instrument/server.js
之后,我使用主 src 目录中的以下内容运行测试,如下所示(带有结果):
✗ istanbul cover --report none --dir coverage/unit node_modules/.bin/_mocha -- -R spec ./.instrument/test/** --recursive
swagger-tests
#createPet
✓ should add a new pet (15226ms)
#getPets
✓ should exist and return an Array (2378ms)
✓ should have at least 1 pet in list (2500ms)
✓ should return error if search not name or id
✓ should be sorted by ID (3041ms)
✓ should be sorted by ID even if no parameter (2715ms)
✓ should be only available pets (2647ms)
#getPetsSortedByName
✓ should be sorted by name (85822ms)
#deletePet
✓ should delete a pet (159ms)
9 passing (2m)
No coverage information was collected, exit without writing coverage information
当我运行istanbul report 时,它显然没有什么可报告的。
我错过了什么?
查看此project 的开发分支以重现问题。
【问题讨论】: