伊斯坦布尔和摩卡提供参考错误:套件未定义'用我的Node.JS项目测试

时间:2018-04-16 23:31:18

标签: javascript node.js unit-testing mocha istanbul

我正在使用Istanbul与Mocha和Chai断言库在Node.js项目上执行单元测试和代码覆盖测试。我在Linux帐户上运行,我有一个帐户。

我可以使用以下两个命令成功地在测试驱动开发(TDD)和行为驱动开发(BDD)风格中使用Mocha运行我的单元测试,如下所示:

delay()

我也可以使用以下代码在BDD测试中运行伊斯坦布尔:

./node_modules/.bin/_mocha -u tdd -R spec qa/tdd_Person.js
./node_modules/.bin/_mocha -u bdd -R spec qa/bdd_Person.js

但是,当我尝试使用我的TDD测试运行伊斯坦布尔时,我得到一个参考错误:套件未定义'在我的测试JavaScript代码中的套件的第一个实例:

./node_modules/.bin/istanbul cover --reporter=text ./node_modules/.bin/_mocha -u bdd -R spec qa/bdd_Person.js

我也在我的Node项目中安装了NYC,可以使用以下命令完美地运行我的TDD和BDD测试:

./node_modules/.bin/istanbul cover --reporter=text ./node_modules/.bin/_mocha -u tdd -R spec qa/tdd_Person.js

那么为什么我的TDD测试在伊斯坦布尔失败但在所有其他情况下工作,但我的BDD测试始终有效。伊斯坦布尔有什么遗漏吗?

1 个答案:

答案 0 :(得分:0)

因此,在所有这些时间之后,我找到了答案并想报告。显然缺少的是摩卡咖啡后的两个破折号。以下是开发tdd和bdd的示例。

行为驱动的开发风格测试:

./node_modules/.bin/istanbul cover --reporter=text ./node_modules/.bin/_mocha -- -u bdd -R spec qa/bdd_Person.js

测试驱动的开发风格测试:

./node_modules/.bin/istanbul cover --reporter=text ./node_modules/.bin/_mocha -- -u tdd -R spec qa/tdd_Person.js

似乎bdd样式的测试对省略两个破折号并不敏感,而tdd则敏感。这让我想知道这是错误还是功能。