2016-09-26 63 views
0

我想添加摩卡到现有的项目。我只是把东西放在一起以下测试......摩卡不识别CoffeeScript/JS测试时添加编程

assert = require('assert'); 
describe 'Array', -> 
    describe '#indexOf()', -> 
    it 'should return -1 when the value is not present', -> 
     assert.equal(-1, [1,2,3].indexOf(4)); 

选项...

--compilers coffee:coffee-script/register 

然后我跑mocha --opts ./mocha.opts src/test/coffee/test/test.coffee,我看到

1路过(6毫秒)

现在我尝试创建一个跑步者文件来处理

globFlat = require('glob-flat'); 
Mocha = require('mocha'); 
mocha = new Mocha(); 

files = globFlat.sync([ 
    'src/test/coffee/test/test.coffee' 
]); 

mocha.addFile file for file in files 
mocha.run(); 

和运行mocha --opts ./mocha.opts src/test/mocha/mocha-runner.coffee我得到

0传递(0毫秒)

那么,为什么它没有找到的考验吗?

更新

我也转为一切交给JS,以确保它是不是CS的问题,我收到了同样的事情...

require('coffee-script'); 
var globFlat = require('glob-flat'); 
var Mocha = require('mocha'); 
var mocha = new Mocha(); 

mocha.addFile('src/test/coffee/test/test.js'); 
runner = mocha.run(); 
console.log("Done"); 

它运行这样...

mocha src/test/mocha/mocha-runner.js 


Done 


    0 passing (0ms) 

更新2

好吧,看来我应该使用节点而不是摩卡来运行它。这就提出了一个问题,因为.js文件版本的作品,但.coffee版本抛出一个错误...

(function (exports, require, module, __filename, __dirname) { require 'coffee-script'; 
                     ^^^^^^^^^^^^^^^ 
SyntaxError: Unexpected string 

因为节点无法识别的CoffeeScript

回答

0

,我要在这里张贴此作为了答案,虽然我不喜欢它... ...

摩卡wrapper.js

require('coffee-script/register'); 
require('./mocha-runner.coffee'); 

mocha-runner.coffee

globFlat = require 'glob-flat'; 
Mocha = require 'mocha'; 
mocha = new Mocha(); 

files = globFlat.sync([ 
    'src/test/coffee/test/test.coffee' 
]); 

mocha.addFile file for file in files 
mocha.run(); 

我想避免多个文件,但现在看起来像我卡住: - /。这就是为什么我要等待接受我的答案。