frontendlab: Воркшоп "just test it". Артем Тритяк, electric cloud
TRANSCRIPT
Just Test ItKarma, Mocha, Sinon.js
Artyom Trityak
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!
What test?Business logic
What test?Business logic where? Models
ControllersViews
What test?Business logic
Models
Controllers
What test?Business logic
Models
Controllers
Shared functionality (base classes, utils etc)
How test: KarmaRuns your unittests in different browsers automatically: Chrome, Phantomjs, Firefox, Safari, IE
Run-on-change
Test in real devices: phones, tablets etc
How test: Karma
How test: Sinon.jsMock modules dependencies
Mock backend requests and responses
Mock / stub methods and objects
Check methods calledWith and callCount
How test: Sinon.js
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
How test: Mocha+Chaior Jasmine
How test: Mocha+Chaior Jasmine
How test: Require.jsTest modular code
Clean state for each test
How test: Require.js