尝试使用mocha进行测试时,无效或意外的标记“ ”

时间:2017-07-17 08:53:58

标签: javascript node.js unit-testing mocha

我正在尝试进行单元测试,但是当我尝试测试我的代码时,我在终端中得到了这个:

 D:\VS Code\VS Code\tests\test\test.js:1
(function (exports, require, module, __filename, __dirname) { ��'
                                                              ^
SyntaxError: Invalid or unexpected token
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at C:\Users\SSD\AppData\Roaming\npm\node_modules\mocha\lib\mocha.js:230:27
    at Array.forEach (native)
    at Mocha.loadFiles (C:\Users\SSD\AppData\Roaming\npm\node_modules\mocha\lib\mocha.js:227:14)
    at Mocha.run (C:\Users\SSD\AppData\Roaming\npm\node_modules\mocha\lib\mocha.js:495:10)
    at Object.<anonymous> (C:\Users\SSD\AppData\Roaming\npm\node_modules\mocha\bin\_mocha:469:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3

我按照mocha文档中给出的步骤操作:  https://mochajs.org/#installation

  1. npm install mocha
  2. mkdir test
  3. $ null&gt;测试/ test.js
  4. 然后我逐字地复制并粘贴了示例

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

    在package.json中设置测试:

    "scripts": {
    "test": "mocha"
    

    }

    然后运行命令npm test 无论我采取什么样的测试例子,误差都是一样的。我也试过再次卸载并安装摩卡,我也试过柴。同样的错误。

2 个答案:

答案 0 :(得分:1)

我刚刚删除了 math.js 文件,复制了他的内容并创建了新文件(如果同名)并再次粘贴相同的程序,它就可以工作了。

示例:

const assert = require('assert');
const Math = require('../scr/math.js');


describe('Math class', function() {
    it('Sum two numbers', function() {
        const math = new Math();
        assert.equal(math.sum(5, 5), 10);
    });
});

file math.js: 

class Math {
    sum = function sum(a,b) { };
}

module.exports = Math;

答案 1 :(得分:0)

我遇到了同样的问题。 实际上我尝试使用windows cmd而不是git bash中的touch cmd来创建测试js文件,然后我粘贴了本教程https://buddy.works/guides/how-automate-nodejs-unit-tests-with-mocha-chai中提到的代码。

只需删除test.js文件并使用touch cmd创建即可。之后它应该可以正常工作。