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!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构