1

我是节点新手。我正在尝试使用 nodejs+karma+jasmine 在 TeamCity 上运行 javascript 测试。

我已经在本地开发机器和 TeamCity 上安装了节点。它似乎在两个地方都有效。

我已经使用本地安装了 karmanpm install karma并使用.\node_modules\.bin\karma.cmd init. 测试在本地运行良好,使用.\node_modules\.bin\karma.cmd start --single-run . 我已经检查了整个 node_module 文件夹。

当我尝试使用运行的命令行步骤在 TeamCity 中运行业力时,.\node_modules\.bin\karma.cmd start --single-run我得到以下信息:

[08:52:42][Step 6/6] module.js:340
[08:52:42][Step 6/6]     throw err;
[08:52:42][Step 6/6]           ^
[08:52:42][Step 6/6] Error: Cannot find module 'D:\tc_a1\work\c4418f0fd0a402a7\node_modules\karma\bin\karma'
[08:52:42][Step 6/6]     at Function.Module._resolveFilename (module.js:338:15)
[08:52:42][Step 6/6]     at Function.Module._load (module.js:280:25)
[08:52:42][Step 6/6]     at Function.Module.runMain (module.js:497:10)
[08:52:42][Step 6/6]     at startup (node.js:119:16)
[08:52:42][Step 6/6]     at node.js:901:3

我尝试了 run 命令的几种排列方式,但它们都产生相同的输出。

我如何让它工作?

4

2 回答 2

1

问题是我对业力模块的 git checkin 不完整。

我的.gitignore文件就这样结束了

!node_modules

但这仍然忽略了与其他忽略模式匹配的子目录中的一些文件。当我们把结尾改成.gitignore这个时

!node_modules/**

然后我们找到了这些文件,提交了它们,它开始工作了

于 2013-10-09T07:35:08.230 回答
0

TeamCity 代理上的目录结构是什么样的D:\tc_a1\work\c4418f0fd0a402a7?你的node_modules文件夹在吗?

我们让它在 TeamCity 中运行,并将 Karma 复制到用户配置文件之外的文件夹(全局安装的 npm 包所在的位置),然后添加到路径中,这样它就可以在不提供整个路径的情况下运行。

于 2013-10-09T01:14:16.533 回答