Юнит тест Жасмин не работает с простым щелчком jquery - PullRequest
1 голос
/ 22 июля 2011

Я пытаюсь научиться юнит-тесту с Жасмин. Я разработал очень простой пример, в котором я пытаюсь проверить, что метод вызывается при срабатывании события jquery click. Я не могу заставить это работать. Может кто-нибудь, пожалуйста, помогите? Большое спасибо !!

Я получаю следующие ошибки:

ReferenceError: Butthead is not defined in http://localhost:4243/spec/buttheadSpec.js (line 11)

и

spyOn could not find an object to spy upon for responseAlert()

вот код

function Butthead(){
}

Butthead.prototype.responseAlert = function(){
   alert('You are a butthead');
}

$(document).ready(function(){

  var butthead = new Butthead();

  $('#myButton').click(function(){

      butthead.responseAlert();
  });
} 

Вот мой юнит тест

// Test Fixture
describe('When clicking myButton', function(){
  var butthead;

  // Set up
  beforeEach(function(){
     butthead = new Butthead(); 
  });


  // Test
  it('should say Hello', function(){

    spyOn(butthead, 'responseAlert');

    $('#myButton').click();

    expect(butthead.responseAlert).toHaveBeenCalled();
  });

});

1 Ответ

0 голосов
/ 30 ноября 2011

Это в 2 отдельных файла? Я знаю, это звучит как глупый вопрос, но это была ошибка, которую я сделал, когда начал с Жасмин. Вам необходимо разделить файлы «source» и «spec».

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

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