我整天都在搜寻Google,但是我不得不转向社区。我在单独的文件中有两个其他类的代码。

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);

10-04 20:45