我在VS 2019中使用node js。 我想尝试Mocha作为测试平台,所以我已经通过并安装了,并在基本意义上得到了它的工作。 我有一个简单的计算器node js文件(calc.js)。
我有另一个文件,有基本的hello world测试(basictest.js)。 如果我不在Calc.js中放入 "require "行,那么这些测试(测试1和测试2)将被VS 2019测试资源管理器发现并被列出。
然而,我需要require行来访问计算器应用程序,所以当我把require行放在 var mycalc = require('./Scripts/Calc.js');
中,测试没有被发现。 同样的事情发生,如果我尝试引用 path=..
到它。我是node js的新手,所以在引用另一个js文件中的函数时,我可能也会遗漏一些看似明显的东西。
basictest.js。
'use strict';
var assert = require('assert');
var mycalc = require('./Scripts/Calc.js');
describe('Test Suite 1', function () {
it('Test 1', function () {
assert.ok(true, "This shouldn't fail");
});
it('Test 2', function () {
assert.ok(1 === 1, "This shouldn't fail");
assert.ok(false, "This should fail");
});
});
好吧.... 我在网上搜索了几个小时后想明白了,但没有成功。
这里的这一行并不完全正确:var mycalc = require('.ScriptsCalc.js')。
由于某些原因,js找到了calc.js文件和测试文件。 然而,测试资源管理器并没有能够发现测试。 原因是一个简单的".",我猜测是.Scripts将当前工作目录放在Scripts目录下,VS无法发现测试。 只需添加第二个". "就可以把它移回一个目录,这样就可以找到测试了。
正确的代码: var mycalc = require('.ScriptsCalc.js')。