Я тестирую файл JS с require
, который указывает на внешний модуль.Как мне обращаться с внешним модулем при запуске UT, если он продолжает искать этот внешний модуль локально?
Я уже пытался смоделировать функцию из скрипта, но я не думаю, что это правильный способ проверить егокомпоненты.То, что я действительно хочу, чтобы мой тестовый файл указывал на файл сценария, и этот файл сценария либо пропустит вызов для части require
, которая вызывает внешние модули, либо найдет способ переопределить или игнорировать эту строку, чтобы я могначать ссылаться на функции и компоненты, которые мне нужны в файле скрипта для модульного тестирования.
Deal.js
var cordra = require('cordra');
var util = require('util');
exports.beforeSchemaValidation = beforeSchemaValidation;
function beforeSchemaValidation(deal, context) {
...
return deal;
}
DealTest.js
var assert = require('chai').assert;
const beforeSchemaValidation = require('../rules/Deal').beforeSchemaValidation;
describe('Deal', function() {
it('beforeSchemaValidation should return object', function() {
let result = beforeSchemaValidation();
assert.typeOf(result, Object);
});
});
Я хочу, чтобы мой тестовый файл проходил через ../rules/Deal
без получения сгенерированной ошибки Error: Cannot find module 'cordra'
и / или 'util'
, чтобы я мог протестировать остальные его компоненты.