Я весь день занимался поиском в Интернете, но мне придется обратиться к сообществу. У меня этот код в отдельном файле с несколькими другими классами в нем.
const withExponents = function (obj) {
return Object.assign({}, obj, {
pow(num1, num2) {
return Math.pow(num1, num2);
},
multiplyExp(array1, array2) {
return Math.pow(...array1) * Math.pow(...array2);
},
divideExp(array1, array2) {
return Math.pow(...array1) / Math.pow(...array2);
}
});
}
И вот спецификация, которую я должен обслуживать:
describe("withExponents", function() {
var calculator;
beforeEach(function() {
calculator = new Calculator();
withExponents.call(calculator);
});
it("returns 2^3", function() {
expect(calculator.pow(2, 3)).to.equal(8);
});
it("multiplies 2^3 and 2^4", function() {
expect(calculator.multiplyExp([2, 3], [2, 4])).to.equal(128);
});
it("divides 2^3 by 2^5", function() {
expect(calculator.divideExp([2, 3], [2, 5])).to.equal(0.25);
});
});
Думаю, мне нужно будет сделать какой-то module.exports = withExponents
? Я использую parens? (module.exports = withExponents()
) А как насчет импорта в тестовый файл, чтобы он знал, что с Exponents даже есть? Я возился с некоторыми из этих вещей, но все прошло неплохо. Исправления будут высоко оценены.
Как я вижу, вы должны сделать следующее:
В файле withExponents
:
module.exports = function (obj) {
...
}
В тестовом файле
const withExponents = require(/* path to your withExponents file -> */ './withExponents.js');
...
calculator = withExponents(calculator);