jQuery Chicago 2014 - Next-generation JavaScript Testing

28
Next-generation JavaScript Testing Vlad Filippov // jQuery Conference 2014

description

jQuery Chicago 2014 - Next-generation JavaScript Testing

Transcript of jQuery Chicago 2014 - Next-generation JavaScript Testing

Page 1: jQuery Chicago 2014 - Next-generation JavaScript Testing

Next-generation JavaScript Testing

Vlad Filippov // jQuery Conference 2014

Page 2: jQuery Chicago 2014 - Next-generation JavaScript Testing

@vladikoff

Page 3: jQuery Chicago 2014 - Next-generation JavaScript Testing

– John Resig, 2009 http://ejohn.org/blog/javascript-testing-does-not-scale/

“JavaScript Testing Does Not Scale.”

2009

Page 4: jQuery Chicago 2014 - Next-generation JavaScript Testing

2014

Page 5: jQuery Chicago 2014 - Next-generation JavaScript Testing

Firefox Accounts

Page 6: jQuery Chicago 2014 - Next-generation JavaScript Testing

The Intern@ theintern.io

Maintained by

Page 7: jQuery Chicago 2014 - Next-generation JavaScript Testing
Page 8: jQuery Chicago 2014 - Next-generation JavaScript Testing

npm install intern

Page 9: jQuery Chicago 2014 - Next-generation JavaScript Testing

Unit Testing

Page 10: jQuery Chicago 2014 - Next-generation JavaScript Testing
Page 11: jQuery Chicago 2014 - Next-generation JavaScript Testing

Demo

Page 12: jQuery Chicago 2014 - Next-generation JavaScript Testing

New in Intern 2.1

Page 13: jQuery Chicago 2014 - Next-generation JavaScript Testing

Functional Testing

Page 14: jQuery Chicago 2014 - Next-generation JavaScript Testing

Supports: • InternetExplorerDriver • FirefoxDriver • ChromeDriver • SafariDriver • Selendroid • ios-driver

http://theintern.github.io/leadfoot/

Cross-platform consistency to the Selenium WebDriver API.

Page 15: jQuery Chicago 2014 - Next-generation JavaScript Testing

Basic Functional Test with the Intern

Page 16: jQuery Chicago 2014 - Next-generation JavaScript Testing

Basic Functional Test with the Intern

Page 17: jQuery Chicago 2014 - Next-generation JavaScript Testing

Demo

Page 18: jQuery Chicago 2014 - Next-generation JavaScript Testing
Page 19: jQuery Chicago 2014 - Next-generation JavaScript Testing
Page 20: jQuery Chicago 2014 - Next-generation JavaScript Testing

!

SauceLabs, TestingBot, BrowserStack

https://theintern.github.io/digdug/

Abstraction library for WebDriver service tunnels

Page 21: jQuery Chicago 2014 - Next-generation JavaScript Testing

Demo

Page 22: jQuery Chicago 2014 - Next-generation JavaScript Testing

Running CI Tests - Large App

Unit Tests

Install Project

Limited Functional Tests

JSHint, JSCS, etc.

Pull Request Testing

Install Project

Full Functional Tests

Stage Testing

with Xvfb

Page 23: jQuery Chicago 2014 - Next-generation JavaScript Testing

More than just tests!

Page 24: jQuery Chicago 2014 - Next-generation JavaScript Testing

https://github.com/gotwarlost/istanbul

Page 25: jQuery Chicago 2014 - Next-generation JavaScript Testing
Page 26: jQuery Chicago 2014 - Next-generation JavaScript Testing

Capabilities

• ChromeDriver homepage: https://sites.google.com/a/chromium.org/chromedriver/capabilities

• Custom Firefox profile:

Page 27: jQuery Chicago 2014 - Next-generation JavaScript Testing

• Main Wiki: https://github.com/theintern/intern/wiki !

• Intern examples for jQuery, Angular, etc: https://github.com/theintern/intern-examples !

• Tutorial: https://github.com/theintern/intern-tutorial

• Support: https://github.com/theintern/intern/wiki/Support

Page 28: jQuery Chicago 2014 - Next-generation JavaScript Testing

@vladikoffQuestions?

Thank you!