繁体   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