簡體   English   中英

程序添加時,Mocha無法識別CoffeeScript / JS測試

[英]Mocha not recognizing CoffeeScript/JS test when adding programatically

我正在嘗試將摩卡咖啡添加到現有項目中。 我進行以下測試只是為了將它們放在一起...

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通過(0ms)

那么為什么找不到測試呢?

更新資料

我也已經將所有內容都轉換為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

好的,所以看來我應該使用node而不是mocha來運行它。 這是一個問題,因為.js版本可以使用,但是.coffee版本會引發錯誤...

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

因為節點無法識別咖啡腳本

我將在此處將其發布為答案,盡管我不喜歡它...

mocha-wrapper.js

require('coffee-script/register');
require('./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();

我想避免使用多個文件,但現在看來我被卡住了:-/。 這就是為什么我要等待接受我的回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM