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.
should not be tied to any browser, framework, platform, or host language.
should have idiomatic and unsurprising syntax.
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.