2017-06-05 33 views
2

我对使用ES6语法编写的React组件执行摩卡测试。我正在使用伊斯坦布尔进行代码覆盖测试。当我把我的NODE_ENV为“test`,我得到下面的输出:当NODE_ENV设置为测试时,nyc(istanbul)不起作用

----------|----------|----------|----------|----------|----------------| 
File  | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | 
----------|----------|----------|----------|----------|----------------| 
All files | Unknown | Unknown | Unknown | Unknown |    | 
----------|----------|----------|----------|----------|----------------| 

可以看出,它说的一切未知。当我删除NODE_ENV变量时,它工作正常。我能做些什么来在上述环境中运行这个测试?

回答

2

我一直在试图在过去两天使用babel,nyc设置一个类似的环境并作出反应并面临类似的问题。 你是如何设置NODE_ENV的?你在Windows上吗?

这是我在我的package.json:

"test:c": "set NODE_ENV=test && npm run coverage" 

当此执行,Windows实际上设置NODE_ENV为 “test” 不作为 “测试”。 注意尾随的空格。

我固定这通过从脚本中删除空间:

"test:c": "set NODE_ENV=test&& npm run coverage" 
+0

我使用了NPM包称为'横env'。所以我的测试脚本是 '“test”:“cross-env NODE_ENV =测试nyc摩卡”' 是的,我在Windows上。 – morghulis

+0

以及它好像你可能有同样的问题,你的情况NODE_ENV可以解释为“测试”,用空格 尝试拆分脚本中两个脚本是这样的: '“测试”:“横ENV NODE_ENV = test && npm run actual_test“, ”actual_test“:”nyc mocha“ 那样NODE_ENV应该设置正确 –

+0

这对我有效。非常感谢! – morghulis

相关问题