Как передать входные данные в браузер window.prompt из тестов Jest? - PullRequest
0 голосов
/ 02 ноября 2018

Я использую Jest для модульного тестирования своих функций. Есть ли способ передать входные данные в window.prompt с помощью Jest?

Например, если бы у меня была функция калькулятора, которая выглядит следующим образом:

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

Как бы я вызвал метод read () из Jest?

Я пытаюсь сделать что-то подобное, но в итоге оба значения устанавливаются на 3, поскольку второе возвращаемое значение используется дважды

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

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

Как установить значения для ввода, передав значения в приглашение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...