Your browser
doesn't support the features required
by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest
Chrome
,
Safari
or
Firefox
browser.
Discover a powerful and suitable
Javascript Automatic Testing Toolkit
by Daniel Yang
Purpose
Find out the
best
Javascript testing library for us.
QUnit
vs
Jasmine
-
support in brower & Node.js
-
testing of DOM manipulation
-
TDD or BDD
BDD or TDD
in Jasemine
expect(5).toEqual(5);
expect(5).not.toEqual(5);
in Qunit
strictEqual(5, 5);
notStrictEqual(5, 5);
But we need something more...
-
how to test in different browers
-
how to test with a AMD loader
-
and how to automatic testing
JsTestDriver + Jasmine
This is the Taobao's solutions in used, but it has some bugs which make people get fighting mad.
Pro
-
testing in different browers
-
automatic testing
-
BDD style script
Con
-
asynchronous support is not good, and you shall mock up the data when using AJAX.
-
couldn't support all Jasmine method
-
and it built in Java(not JS)
Is there any libaray
can solve these problems?
Easy to deploy
use npm to install & manager
npm install -g buster
npm install buster-amd
Browser Testing
Buster.JS can automate browsers, JsTestDriver style.
buster server
Buster.JS also has a static browser runner that runs tests by opening a web page in a browser. This is similar to QUnit, Mocha, etc.
buster static
AJAX Testing
using Sinon.JS to mock out the entire XHR stack in a browser, so we can test AJAX easily.
Asynchronous tests
To tag a test as async, have the test function take one argument, done.
The done argument is a function. Call it to tell Buster.JS that the asynchronous test has finished running.
Buster.JS is still beta, so it has some rough edges.
But I think this solutions will satisfy our needs.
Thanks for your watching!