Съвместимост на Jasmine 2.0 с Jasmine-Jquery

Имам затруднения при провеждането на моите Jquery тестове с плъгина jasmine-jquery. Ето стъпките, които предприех:

  1. скъпоценен камък инсталирайте жасмин
  2. жасмин инициал
  3. добавете jquery и jasmine-jquery към папката helpers
  4. Ето моето хранилище https://github.com/shenst1/jasminesample

Ето моите спецификации, препоръчани след тези уроци: https://www.youtube.com/watch?v=3Huh44nsZTw

describe("My Feature", function() {
  it("should add numbers", function() {
    expect(1+1).toBe(2);
   });
 });
describe("experimentation", function() {
  var elem;
  beforeEach(function() {
  elem = $('<div id="container"><p>Hello World</p></div>');
  });
  it("allows us to serach with Css selectors", function() {
   expect(elem).toBe('#container');
   expect(elem).toContainElement('p');
    expect(elem).toEqual('#container');
   expect(elem).toEqual('p')
  });
 });

Първата спецификация преминава според очакванията, но вторите с jquery се провалят със следните грешки:

    Expected { 0 : HTMLNode, length : 1 } to be '#container'.
    Error: Expected { 0 : HTMLNode, length : 1 } to be '#container'.
    at stack (http://localhost:8888/__jasmine__/jasmine.js:1293:17)
    at buildExpectationResult (http://localhost:8888/__jasmine__/jasmine.js:1270:14)
    at Spec.Env.expectationResultFactory        (http://localhost:8888/__jasmine__/jasmine.js:484:18)
    at Spec.addExpectationResult (http://localhost:8888/__jasmine__/jasmine.js:260:46)
    at Expectation.addExpectationResult (http://localhost:8888/__jasmine__/jasmine.js:442:21)
    at Expectation.toBe (http://localhost:8888/__jasmine__/jasmine.js:1209:12)
    at Object.<anonymous> (http://localhost:8888/__spec__/testSpec.js:12:18)
    at attemptSync (http://localhost:8888/__jasmine__/jasmine.js:1510:12)
    at QueueRunner.run (http://localhost:8888/__jasmine__/jasmine.js:1498:9)
    at QueueRunner.execute (http://localhost:8888/__jasmine__/jasmine.js:1485:10)
TypeError: Object #<Expectation> has no method 'toContainElement'
TypeError: Object #<Expectation> has no method 'toContainElement'
    at Object.<anonymous> (http://localhost:8888/__spec__/testSpec.js:13:18)
    at attemptSync (http://localhost:8888/__jasmine__/jasmine.js:1510:12)

Изглежда, че съвпаденията на jquery не се зареждат правилно. Изглежда, че преобразува обекта в низ, вместо да проверява html елементите. Опитах се да използвам версията jasmine-jquery.js от Support Jasmine v2.0 (версия 1.5.92), но това се провали със същите грешки. Трябва ли да върна назад версиите на jasmine, за да поддържам Jquery, или просто пропускам нещо за това как да го накарам да работи с jquery? Благодаря, Андрю


person Andrew Shenstone    schedule 13.01.2014    source източник


Отговори (1)


поддържам jasmine jquery, току-що добавих поддръжка за jasmine v2 преди няколко минути. https://github.com/velesin/jasmine-jquery/

person travisjeffery    schedule 13.01.2014