Имам затруднения при провеждането на моите Jquery тестове с плъгина jasmine-jquery. Ето стъпките, които предприех:
- скъпоценен камък инсталирайте жасмин
- жасмин инициал
- добавете jquery и jasmine-jquery към папката helpers
- Ето моето хранилище 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? Благодаря, Андрю