Как создать шпионскую переменную в функции в javascript, используя jasmine - PullRequest
0 голосов
/ 13 сентября 2018

Я создал функцию для этого поля ввода. Я действительно застрял на том, как написать контрольные примеры для этой функции, используя жасмин. Аргумент в функции изменяется в зависимости от поля ввода, в котором она находится. (Код ниже для справки)

<input type="text" class="ipClass" onfocusout="return 
        outputFunction('uniqueIdOne') id="uniqueIdOne">

<input type="text" class="ipClass" onfocusout="return 
        outputFunction('uniqueIdTwo') id="uniqueIdTwo">


function outputFunction(id){
var inputValue = document.getElementby(id).value;
if(value == "10")
  return inputValue;
else
  return somethingElse;
}

1 Ответ

0 голосов
/ 13 сентября 2018

Является ли эта функция свойством объекта? Поскольку, как я вижу, вы можете создавать шпионов для функций объекта.

Например:

 function Human(firstName, lastName) {
  this.firstName = firstName,
  this.lastName = lastName,
  this.fullName = function() {
    return this.firstName + " " + this.lastName;
 }
}

здесь вы можете шпионить, имея

 var human = new Human('some', 'name');
 spyOn(human, "fullName");

, а затем

 expect(human.getName).toHaveBeenCalled();

Пожалуйста, обратитесь"В Jasmine насмешки упоминаются как шпионы. Есть два способа создать шпиона в Jasmine: spyOn () может использоваться только тогда, когда метод уже существует на объекте, тогда как jasmine.createSpy () вернет совершенно новую функцию: "

но если вы просто хотите узнать, как написать шпиона в Жасмин. Это та же ссылка, что и выше

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