frontendlab: Воркшоп "just test it". Артем Тритяк, electric cloud

16
Just Test It Karma, Mocha, Sinon.js Artyom Trityak

Upload: geekslab

Post on 17-May-2015

330 views

Category:

Technology


12 download

TRANSCRIPT

Page 1: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

Just Test ItKarma, Mocha, Sinon.js

Artyom Trityak

Page 2: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

Why test?It’s impossible to do regression testing for big projects

Want to do refactoring - test it!

Want to deploy each sprint - test it!

Want to show how to use your module - test it!

Page 3: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

What test?Business logic

Page 4: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

What test?Business logic where? Models

ControllersViews

Page 5: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

What test?Business logic

Models

Controllers

Page 6: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

What test?Business logic

Models

Controllers

Shared functionality (base classes, utils etc)

Page 7: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: KarmaRuns your unittests in different browsers automatically: Chrome, Phantomjs, Firefox, Safari, IE

Run-on-change

Test in real devices: phones, tablets etc

Page 8: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Karma

Page 9: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Sinon.jsMock modules dependencies

Mock backend requests and responses

Mock / stub methods and objects

Check methods calledWith and callCount

Page 10: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Sinon.js

Page 11: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Mocha+ChaiTest async behaviors

Different reports

Both fine: Mocha+Chai or Jasmine (2.0 is out)

Jasmine 2.0 supports Mocha-style «done» callback for async tests

or Jasmine

Page 12: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Mocha+Chaior Jasmine

Page 13: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Mocha+Chaior Jasmine

Page 14: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Require.jsTest modular code

Clean state for each test

Page 15: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud

How test: Require.js

Page 16: FrontendLab: Воркшоп "Just Test It". Артем Тритяк, Electric Cloud