testowanie javascript
TRANSCRIPT
![Page 2: Testowanie JavaScript](https://reader035.vdocuments.pub/reader035/viewer/2022081809/55ba2b9ebb61eb9c7b8b45c6/html5/thumbnails/2.jpg)
Dlaczego JavaScript?
użytkownicy oczekują coraz większej
użyteczność interfejsów i szybkości
JavaScript to zapewnia
![Page 3: Testowanie JavaScript](https://reader035.vdocuments.pub/reader035/viewer/2022081809/55ba2b9ebb61eb9c7b8b45c6/html5/thumbnails/3.jpg)
Dlaczego Jasmine?
dobrze integruje się z Rails
składnia zbliżona do RSpec
obsługa CoffeeScript / Asset Pipeline
matchery jQuery, fixturki widoków, Sinon.JS
(test spies, stubs & mocks)
tryb standalone
![Page 4: Testowanie JavaScript](https://reader035.vdocuments.pub/reader035/viewer/2022081809/55ba2b9ebb61eb9c7b8b45c6/html5/thumbnails/4.jpg)
JavaScript || CoffeeScript describe("Calculator", function() { describe("#add", function() { return it("adds two numbers", function() { var calculator; calculator = new Calculator(); return expect(calculator.add(1, 1)).toEqual(2); }); }); describe("#subtract", function() { return it("subtracts two numbers", function() { var calculator; calculator = new Calculator(); return expect(calculator.subtract(10,
1)).toEqual(9); }); }); ... });
describe "Calculator", -> describe "#add", -> it "adds two numbers", -> calculator = new Calculator() expect(calculator.add(1, 1)).toEqual 2 describe "#subtract", -> it "subtracts two numbers", -> calculator = new Calculator() expect(calculator.subtract(10, 1)).toEqual 9
![Page 5: Testowanie JavaScript](https://reader035.vdocuments.pub/reader035/viewer/2022081809/55ba2b9ebb61eb9c7b8b45c6/html5/thumbnails/5.jpg)
Matcheryexpect($('<div class="some-class"></div>')).toHaveClass("some-class")
expect($('<div class="some-class"></div>')).not.toHaveClass("some-class")
expect($('<div>some text</div>')).toHaveText('some text')
expect($form).toHandle("submit")
…beforeEach(function() { this.addMatchers({
toBeACalendar: function() { return this.actual.hasClass("hasDatepicker"); },
...
![Page 6: Testowanie JavaScript](https://reader035.vdocuments.pub/reader035/viewer/2022081809/55ba2b9ebb61eb9c7b8b45c6/html5/thumbnails/6.jpg)
Demo
http://github.com/tb/testing-javascript