我如何将输入从Jest测试传递到浏览器window.prompt?

时间:2018-11-02 02:52:41

标签: javascript jestjs

我正在使用Jest对我的功能进行单元测试。是否可以使用Jest将输入传递给window.prompt?

例如,如果我有一个像这样的计算器功能:

let calculator = {
  input: {},
  read() {
    this.input.value1 = Number(prompt("Enter the first value"));
    this.input.value2 = Number(prompt("Enter the second value"));
  },
  sum() {
    return this.input.value1 + this.input.value2;
  },
  mul() {
    return this.input.value1 * this.input.value2;
  }
};

我如何从Jest调用read()方法?

我正在尝试做类似的事情,但是由于两次使用第二次返回值,最终将两个值都设置为3

describe("calculator", () => {
  beforeEach(() => {
    global.prompt = () => {
      return 2;
    };
    global.prompt = () => {
      return 3;
    };

    calculator.read();
  });
});

如何通过将值传递给提示符来设置输入值?

0 个答案:

没有答案