Visual Studio 2019中的Mocha for node js应用在引用或需要另一个文件时,在测试资源管理器中不显示Tests。

问题描述 投票:0回答:1

我在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");
});
});
javascript node.js mocha visual-studio-2019
1个回答
0
投票

好吧.... 我在网上搜索了几个小时后想明白了,但没有成功。

这里的这一行并不完全正确:var mycalc = require('.ScriptsCalc.js')。

由于某些原因,js找到了calc.js文件和测试文件。 然而,测试资源管理器并没有能够发现测试。 原因是一个简单的".",我猜测是.Scripts将当前工作目录放在Scripts目录下,VS无法发现测试。 只需添加第二个". "就可以把它移回一个目录,这样就可以找到测试了。

正确的代码: var mycalc = require('.ScriptsCalc.js')。

© www.soinside.com 2019 - 2024. All rights reserved.