IDEA nodejs mocha测试被识别,但作为代码运行

时间:2017-05-03 06:28:51

标签: node.js intellij-idea mocha

在IntelliJ IDEA Ultimate 2017.1中,我有一个包含许多NPM模块的大型nodejs项目。它们中的大多数包含带有Mocha测试的test子目录。 IDEA可以很好地识别并运行大多数项目的测试(describe() + it()),显示一个很好的测试界面和运行结果,除了一个。对于一个项目,它识别测试(显示describeit右侧的绿色箭头),但是在运行时,它将使用节点解释器将其作为常规代码运行,这显然会失败。

如何确保项目的测试以Mocha的形式运行?

P.S。当我添加一个" mocha"调试配置文件,如果我手动启动mocha运行/调试配置文件,它运行正常。

P.P.S。 我设法通过编辑.idea/workspace.xml来解决它 - 由于某种原因它包含了这个元素。删除它使一切正常。我希望有一种方法可以从UI做到这一点。

<configuration default="false" name="routeTest.js" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" path-to-js-file="routeTest.js" working-dir="$PROJECT_DIR$/server/test"> <method /> </configuration>

2 个答案:

答案 0 :(得分:0)

根据您的描述,似乎问题是由现有的 Node.js 运行配置导致的,其中“JavaScript文件”设置为您的mocha测试文件(routeTest.js)。与当前文件关联的显式创建的运行配置优先于从上下文自动生成的运行配置。删除配置应该可以解决问题。

答案 1 :(得分:0)

我发现它是由package.json中的karma依赖引起的。目前唯一的解决方法是手动设置初始mocha测试运行配置,然后我们可以通过单击图标来运行测试。

更新: 它是由Idea中的bug引起的,它已经修复了。如果您同时使用karma-mocha和mocha测试,请注意最后comment