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

标签 javascript node.js mocha.js visual-studio-2019

我在 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('./Scripts/Calc.js');

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

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

关于javascript - Visual Studio 2019 中用于 Node js 应用程序的 Mocha 在引用或需要另一个文件时未在测试资源管理器中显示测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62055482/

相关文章:

node.js - 在expressjs中编写测试的正确方法

javascript - 在 mocha 测试中使用 done 和 setTimeout 的简单示例未按预期工作

Microsoft Dynamics CRM 2013 的 Javascript 兼容性错误

JavaScript 清除文本框 DOM 仅清除顶部框

javascript - 序列化 JSON 数组并将其解析为数组

json - npm 安装后类型无法正常工作

javascript - 有没有办法从SquishIt中的合并的javascript文件中删除哈希?

javascript - V8 Javascript 引擎:v8::参数和函数模板

javascript - 即使我更新了 .bash_profile,所有 NPM 命令也不起作用

javascript - stub 内部功能?