Karmatesting在手表模式下通过,但在单一标志通过时失败

我试图更新Node.js库也在浏览器中工作。 我有大量的testing在Node.js中都能像预期的那样工作,但是当我尝试在浏览器中运行它们(通过Karma&Browserify)时,会给我一些问题。 我遇到的一个特殊问题是,当业务处于“监视”模式时某些文件会通过,但在“单次运行”模式下失败:

手表模式:

~/node-sdk (browser) $ karma start 11 07 2016 16:55:59.122:INFO [framework.browserify]: registering rebuild (autoWatch=true) 11 07 2016 16:56:11.595:INFO [framework.browserify]: 9423226 bytes written (11.72 seconds) 11 07 2016 16:56:11.711:INFO [framework.browserify]: bundle built 11 07 2016 16:56:11.732:WARN [karma]: No captured browser, open http://localhost:9876/ 11 07 2016 16:56:11.741:INFO [karma]: Karma v1.1.1 server started at http://localhost:9876/ 11 07 2016 16:56:11.741:INFO [launcher]: Launching browsers Chrome, Firefox with unlimited concurrency 11 07 2016 16:56:11.748:INFO [launcher]: Starting browser Chrome 11 07 2016 16:56:11.758:INFO [launcher]: Starting browser Firefox 11 07 2016 16:56:13.959:INFO [Chrome 51.0.2704 (Mac OS X 10.11.5)]: Connected on socket /#8p3Hx9wFfm_gMYyEAAAA with id 2615838 11 07 2016 16:56:15.449:INFO [Firefox 47.0.0 (Mac OS X 10.11.0)]: Connected on socket /#f6SIfND_MvqYDOzbAAAB with id 65572400 Firefox 47.0.0 (Mac OS X 10.11.0): Executed 2 of 2 SUCCESS (0.047 secs / 0.01 secs) Chrome 51.0.2704 (Mac OS X 10.11.5): Executed 2 of 2 SUCCESS (0.03 secs / 0.017 secs) TOTAL: 4 SUCCESS 

单跑模式:

 ~/node-sdk (browser) $ karma start --single-run 11 07 2016 16:55:36.294:INFO [framework.browserify]: bundle built 11 07 2016 16:55:36.323:INFO [karma]: Karma v1.1.1 server started at http://localhost:9876/ 11 07 2016 16:55:36.325:INFO [launcher]: Launching browsers Chrome, Firefox with unlimited concurrency 11 07 2016 16:55:36.334:INFO [launcher]: Starting browser Chrome 11 07 2016 16:55:36.345:INFO [launcher]: Starting browser Firefox 11 07 2016 16:55:38.562:INFO [Chrome 51.0.2704 (Mac OS X 10.11.5)]: Connected on socket /#PwrOhxXF9cdzx-0UAAAA with id 34820387 Chrome 51.0.2704 (Mac OS X 10.11.5) ERROR Uncaught TypeError: self.req.on is not a function at /var/folders/95/_6btw8d94sq2b91k8j794zpm0000gn/T/node_modules/request/request.js:798:0 <- /var/folders/95/_6btw8d94sq2b91k8j794zpm0000gn/T/05a75ef7d31df884a8d5b5e1cec33ffd.browserify:53193 Chrome 51.0.2704 (Mac OS X 10.11.5): Executed 2 of 2 ERROR (0.043 secs / 0.025 secs) 11 07 2016 16:55:40.672:INFO [Firefox 47.0.0 (Mac OS X 10.11.0)]: Connected on socket /Chrome 51.0.2704 (Mac OS X 10.11.5): Executed 2 of 2 ERROR (0.043 secs / 0.025 secs) Firefox 47.0.0 (Mac OS X 10.11.0): Executed 2 of 2 SUCCESS (0.084 secs / 0.012 secs) 

有没有人有任何想法可能导致什么?

这里是我的完整代码: https : //github.com/watson-developer-cloud/node-sdk/tree/2b31b5d74f5e471729bf45dab70ef5428f9ab711

这是它正在运行的一个testing文件(虽然其他几个似乎有相同的错误): https : //github.com/watson-developer-cloud/node-sdk/blob/2b31b5d74f5e471729bf45dab70ef5428f9ab711/test/test.alchemy_data_news.v1。 JS

这里是特定的行,它报告错误(我怀疑这是问题的实际来源,但这是我从日志中得到的): https : //github.com/request/request/blob/v2。 72.0 / request.js#L798

更新:似乎需要多个浏览器来触发。 如果我只用firefox或chrome运行testing,它们也会以单运行模式通过。 仍然不确定是什么根源。

更新2:使用单个浏览器运行效果更好,我的一些testing通过,但其他testing文件给我这样的错误:

12 07 2016 10:03:12.702:ERROR [framework.browserify]: TypeError: Cannot read property 'apply' of undefined while parsing file: /Users/nfriedly/node-sdk/test/test.visual_recognition.v3.js

那是什么意思? 如果我手动browserify文件,它可以正常工作,就像运行在node.js(与摩卡)。 我认为它可能只发生在使用fs.read* (通过brfs )的文件中。