Visual Studio 2019 中用于节点 js 应用程序的 Mocha 在引用或需要另一个文件时未在测试资源管理器中显示测试

Mocha for node js app in Visual Studio 2019 is not showing Tests in Test Explorer when reference or require another file

我在 VS 2019 中使用节点 js。我想尝试将 Mocha 作为测试平台,所以我已经完成并安装了它并使其在基本意义上工作。我有一个简单的计算器节点 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('./Scripts/Calc.js');

出于某种原因,js 找到了 calc.js 文件和测试文件。但是,测试资源管理器无法发现测试。原因很简单,一个“.”我的猜测是 ./Scripts/ 将当前工作目录放在 Scripts 目录中,而 VS 无法找到测试。只需添加第二个“。”将其移回一个目录,以便可以找到测试。

正确代码: var mycalc = require('../Scripts/Calc.js');