我无法让我的摩卡测试在Codeship上工作。这些都在本地工作。我已删除了回购并运行npm install
。仍在当地工作,但不是遥远的。
当代码尝试运行测试时,我不确定这是否是coffeescript编译错误,但是没有太多关于他们的平台支持该语言的信息。
我是否遗漏了必须添加到我的代码测试环境中的内容?不知道为什么代码在本地很好,但在代码中打破了一切。
在本地运行时:
Debugger listening on port 5858
Verify codeship works
Ok should eql Ok
✓ should not post to the public channel
1 passing (487ms)
Codeship测试结果:
debugger listening on port 5858
/home/rof/src/github.com/sprk-platform/tracker-bot/test/conversation_test.coffee:27
return function*() {
^
SyntaxError: Unexpected token *
at Module._compile (module.js:439:25)
at Object.loadFile (/home/rof/.nvm/v0.10.45/lib/node_modules/coffee-script/lib/coffee-script/register.js:16:19)
at Module.load (/home/rof/.nvm/v0.10.45/lib/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /home/rof/.nvm/v0.10.45/lib/node_modules/mocha/lib/mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (/home/rof/.nvm/v0.10.45/lib/node_modules/mocha/lib/mocha.js:216:14)
at Mocha.run (/home/rof/.nvm/v0.10.45/lib/node_modules/mocha/lib/mocha.js:468:10)
at Object.<anonymous> (/home/rof/.nvm/v0.10.45/lib/node_modules/mocha/bin/_mocha:403:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:945:3
测试文件:
expect = require('chai').expect
should = require('chai').should
Helper = require('hubot-test-helper')
helper = new Helper('../scripts/events.coffee')
co = require('co')
Promise = require('bluebird')
describe 'Verify codeship works', ->
beforeEach ->
@room = helper.createRoom()
return
describe 'Ok should eql Ok', ->
beforeEach ->
co =>
yield @room.user.say '1', 'hello'
return
it 'should not post to the public channel', ->
expect("ok").to.eql "ok"
return
Events.coffee:
module.exports = (robot) ->
robot.on 'some-event', (some, data) ->
robot.messageRoom 'room1', "got event with #{some} #{data}"
robot.respond /send event$/i, (msg) ->
robot.emit 'response-event',
content: 'hello'
的package.json:
{
"dependencies": {
"hubot": "latest",
"hubot-brain-inspect": "0.0.1",
"hubot-conversation": "^1.0.3",
"hubot-diagnostics": "0.0.1",
"hubot-env": "0.0.2",
"hubot-google-images": "^0.2.6",
"hubot-google-translate": "^0.2.0",
"hubot-help": "^0.1.3",
"hubot-heroku-keepalive": "^1.0.2",
"hubot-maps": "0.0.2",
"hubot-pugme": "^0.1.0",
"hubot-redis-brain": "0.0.3",
"hubot-rules": "^0.1.1",
"hubot-scripts": "^2.16.2",
"hubot-shipit": "^0.2.0",
"knwl.js": "^1.0.2",
"nlp_compromise": "^3.0.8",
"qs": "^6.1.0",
"coffee-script": "latest"
},
"engines": {
"node": "0.10.x"
},
"scripts": {
"test": "node_modules/.bin/mocha --opts ./test/mocha.opts"
},
"devDependencies": {
"bluebird": "^3.3.5",
"chai": "3.5.0",
"co": "4.6.0",
"coffee-errors": "^0.8.6",
"hubot-mock-adapter": "^1.0.0",
"hubot-test-helper": "latest",
"mocha": "latest",
"mocha-retry": "^0.1.0",
"mockery": "latest",
"sinon": "latest",
"sinon-chai": "latest"
}
}
和mocha.opts:
--compilers coffee:coffee-script/register
--ui tdd
--reporter spec
--recursive
--debug
--inline-diffs
还尝试添加--require coffee-script
答案 0 :(得分:1)
看起来这个问题是一个不一致的节点版本。 Local为5.6.0
,package.json为0.10.x
。打破测试的是yield
,这是ECMA6的一部分。