2016-09-26 59 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(); 

我想避免多個文件,但現在看起來像我卡住: - /。這就是爲什麼我要等待接受我的答案。