33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
---
|
|
layout: default
|
|
title: Background & History
|
|
---
|
|
|
|
# Why Another JavaScript TDD/BDD Framework?
|
|
|
|
There are some great JavaScript testing frameworks out there already, so why did we write another?
|
|
|
|
None of the existing frameworks quite worked the way we wanted. Many only work from within a browser. Most don't support testing asynchronous code like event callbacks. Some have syntax that's hard for JS developers or IDEs to understand.
|
|
|
|
So we decided to start from scratch.
|
|
|
|
# Enter Jasmine
|
|
|
|
Jasmine is our dream JavaScript testing framework. It's heavily influenced by, and borrows the best parts of, ScrewUnit, JSSpec, [JSpec](http://github.com/visionmedia/jspec/tree/master), and of course RSpec.
|
|
|
|
Jasmine was designed with a few principles in mind. We believe that a good JavaScript testing framework:
|
|
|
|
* should not be tied to any browser, framework, platform, or host language.
|
|
* should have idiomatic and unsurprising syntax.
|
|
* should work anywhere JavaScript can run, including browsers, servers, phones, etc.
|
|
* shouldn't intrude in your application's territory (e.g. by cluttering the global namespace).
|
|
* should play well with IDEs (e.g. test code should pass static analysis).
|
|
|
|
Some of our goals while writing Jasmine:
|
|
|
|
* it should encourage good testing practices.
|
|
* it should integrate easily with continuous build systems.
|
|
* it should be simple to get started with.
|
|
|
|
The result is Jasmine, and we love test-driving our code with it. Enjoy.
|