Javascript unit testing

Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
Javascript unit testing par Mind Map: Javascript unit testing

1. Tools for automated testing (CI)

1.1. PhantomJS

1.1.1. headless browser

1.1.1.1. don't need xvfb!

1.1.2. used version

1.1.2.1. 1.9

1.2. nodejs

1.2.1. used for running lightweight web server

1.2.2. used version

1.2.2.1. 0.8.24

1.2.3. npm

1.2.3.1. 1.2.18

1.2.4. connect

1.3. maven

1.3.1. call ant targets

1.3.2. describes dependency of JsTestDriver

1.3.3. used version

1.3.3.1. 2.2.1

1.4. ant

1.4.1. jstestdriver

1.4.1.1. run server

1.4.1.2. stop all phantomjs

1.4.1.3. run phantomjs

1.4.1.4. run tests

1.4.2. siesta

1.4.2.1. npm install connect

1.4.2.2. run lightweight web server on nodejs

1.4.2.3. open webpage with siesta tests in phantomjs

1.4.3. used version

1.4.3.1. 1.9

1.5. used ports

1.5.1. 9876

1.5.1.1. JsTestDriver server

1.5.2. 3000

1.5.2.1. web server on nodejs

1.6. known issues

1.6.1. JsTestDriver client may fail

1.6.1.1. solution

1.6.1.1.1. run JsTestDriver client twice

1.6.2. JstestDriver server may work incorrectly

1.6.2.1. run server in prebuild step in jenkins

2. TestCase with dataprovider

2.1. How to use

2.2. usefull when you have a lot of similar tests with diffrent input data

3. Javascript testing practise

3.1. http://tddjs.com/

3.2. http://sinonjs.org/

3.3. https://code.google.com/p/js-test-driver/w/list

3.4. http://www.bryntum.com/docs/siesta/#!/api

4. Tools

4.1. JsTestDriver

4.1.1. run server

4.1.1.1. java -jar JsTestDriver.jar --port 9876

4.1.2. run client

4.1.2.1. java -jar JsTestDriver.jar --tests all

4.1.3. coverage

4.1.3.1. plugin for JsTestDriver, integrated in IDE

4.1.4. IDE support

4.1.4.1. PHPStorm

4.1.5. test reports

4.1.5.1. Xunit compatible

4.1.6. used version

4.1.6.1. 1.3.5

4.1.7. fixtures

4.2. Sinon

4.2.1. mocking library

4.3. Siesta

4.3.1. framework for writing integration tests - very convenient for ExtJS applications

4.3.2. there are light and professional versions

4.3.2.1. we use light (free) version

4.3.2.1.1. runs in browser, not in command line

5. TODO (near future)

5.1. automated code quality analysis

5.2. use more browsers for JsTestDriver

5.2.1. IE7-8

5.2.2. FF

5.2.3. Chrome

5.3. generate codecaverage reports

5.4. use random generated port numbers

6. Tips and Tricks

6.1. Browser detection

6.2. Getting fixture from HTML data

7. Writing test code rules

7.1. path to tests

7.2. path to fixture

7.3. path to config

7.4. group tests in testcases

7.5. Keep AAA test pattern