Я использую Jasmine-Node для проверки кода Javascript.Как экспортировать и импортировать два разных объекта функции в JavaScript?
Как можно экспортировать два разных функциональных объекта, таких как Confusions1 и Confusions2, чтобы оба они были доступны в тестовом файле Jasmine-Node?
Моей попытка выглядит следующим образом:
// confusions.js
var Confusions1 = function() {};
Confusions1.prototype.foo = function(num) {
// keep track of how many times `foo` is called
this.count++;
}
module.exports = Confusions1;
// second function object
var Confusions2 = function() {};
Confusions2.prototype.foo = function() {
var a = 2;
this.bar();
};
Confusions2.prototype.bar = function() {
return this.a;
}
module.exports = Confusions2;
И мой файл жасмин Test:
// confusions.spec.js
var Confusion = require('./confusions.js');
describe("chapter 1, common misconception ", function() {
describe("to assume `this` refers to the function itself: ", function() {
var confusion = new Confusion();
// some test code omitted
});
describe("to assume `this` refers to the function's scope", function() {
var confusion = new Confusion();
// test code omitted
});
});
Я хочу это так, чтобы Confusions1 и Confusions2 из confusions.js
оба использовать в двух вложенных описывают блоки в confusions.spec.js
Я предполагаю, что мне нужно как-то инициализировать разные объекты после запроса файла var Confusion = require('./confusions.js');
Что-то вроде var confusion1 = new Confusions1(); var confusion2 = new Confusions2();
Но как именно (без разделения обоих объектов в двух отдельных файлах)?
есть ли способ быстро тес т ваш код без шаблона жасминового узла? Когда я настраиваю свой тест с вашим подходом, я получаю TypeError, потому что Confusion1/Confusion2 не определено в тесте ... – StandardNerd
Что такое шаблон узла? Ничто не связано с какой-либо тестовой средой, это всего лишь узловая модульная система. Создайте два модуля сверху и запустите 'node bar.test.js' – Srle