【问题标题】:Mocha not recognizing CoffeeScript/JS test when adding programatically以编程方式添加时 Mocha 无法识别 CoffeeScript/JS 测试
【发布时间】:2017-02-03 22:25:49
【问题描述】:

我正在尝试将 mocha 添加到现有项目中。我有以下测试只是为了把东西放在一起......

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

因为节点无法识别coffeescript

【问题讨论】:

    标签: javascript coffeescript mocha.js


    【解决方案1】:

    尽管我不喜欢它,但我将在此处发布此答案作为答案...

    mocha-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();
    

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

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2016-04-24
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多