Приложение Mocha для node js в Visual Studio 2019 не отображает тесты в обозревателе тестов при ссылке или требовании другого файла - PullRequest
1 голос
/ 28 мая 2020

Я использую node js в VS 2019. Я хочу попробовать Mocha в качестве тестовой платформы, поэтому я прошел, установил его и заставил его работать в базовом смысле c. У меня есть простой калькулятор node js файл (кал c. js).

У меня есть еще один файл, в котором есть тесты basi c hello world (basictest. js). Если я НЕ укажу строку «требовать» для Cal c. js, то эти тесты (Test 1 и Test 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");
});
});

1 Ответ

0 голосов
/ 28 мая 2020

Хорошо ... Я понял это после нескольких часов поиска в Интернете и безуспешно.

Эта строка здесь была не совсем правильной: var mycal c = require ('./ Scripts / Cal c. js ');

По какой-то причине js находит файл cal c. js и тестовый файл. Однако обозреватель тестов не смог обнаружить тесты. Причина проста "." Я предполагаю, что ./Scripts/ помещает текущий рабочий каталог в каталог Scripts, и VS не может найти тесты. Просто добавляю второй "." перемещает его в каталог, чтобы можно было найти тесты.

Правильный код: var mycal c = require ('../ Scripts / Cal c. js');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...