我正在尝试进行单元测试,但是当我尝试测试我的代码时,我在终端中得到了这个:
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
然后我逐字地复制并粘贴了示例
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
无论我采取什么样的测试例子,误差都是一样的。我也试过再次卸载并安装摩卡,我也试过柴。同样的错误。
答案 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创建即可。之后它应该可以正常工作。