2017-01-03 3 views
2

Я пытаюсь протестировать функцию в жасмине, который определяется следующим образом:Жасмин машинопись - проблема с тестированием FUNC против пусть п = FUNC

let main = new function() { 
    this.addIframe =() => { 
     try { 
      $("body").append("<iframe id='myiframe'> </iframe>"); 
      return true; 
     } catch (err) { 
      dosomthing(); 
      return false; 
     } 
    }; 
}; 

Мне нужна этот тип определения, чтобы в дальнейшем установить шпион и такие вещи, как в испытательном костюме. Но прямо сейчас я застрял с проблемой при попытке проверить обратные Постулаты используя этот код:

describe("Function AddIframe",()=> { 
    it("should return true if opened iframe",()=>{ 
     expect(addIframe()).toBe(true); 
    }); 

вопрос является ли я получить Неопределенный, теперь я понимаю, что это becouse в пути Js работы с 2 этапом запуском ,

Я попытался перейти к функции() {} defintion, но мне нужно это для моего другого теста. Я тестирую идею помещения его внутрь объекта, но все еще не определился даже при использовании this.method.

Может ли кто-нибудь сказать мне, что мне не хватает здесь, или как я могу обойти эту проблему?

+0

Я не уверен, если это будет полезно для тех, кто только что сделал этот вопрос для меня было то, что до этого чек там был уже установленным шпионом для тестируемой функции. поэтому я только что перевел тесты, а не самые удаленные, но зафиксировал текущую проблему. –

ответ

0

Метод addIframe определяется на объекте main, потому что вы создаете новый экземпляр функции анонимного конструктора. Таким образом, вы должны использовать main.addIframe() вместо addIframe():

expect(main.addIframe()).toBe(true); 

Вот рабочий пример: http://jsfiddle.net/bBL9P/508/

Смежные вопросы