CSC/ECE 517 Fall 2014/ch1b 26 sa: Difference between revisions
No edit summary |
|||
Line 5: | Line 5: | ||
= Background = | = Background = | ||
The Jasmine framework was developed since developers to address certain specific concerns in existing testing frameworks <ref>https://github.com/pivotal/jasmine/wiki/Background</ref> | The Jasmine framework was developed since developers to address certain specific concerns in existing testing frameworks <ref name="Background">https://github.com/pivotal/jasmine/wiki/Background</ref> | ||
* Many frameworks only work from within a browser. | * Many frameworks only work from within a browser. | ||
* Many don't support testing asynchronous code like event callbacks. | * Many don't support testing asynchronous code like event callbacks. | ||
Line 11: | Line 11: | ||
== Design Principles == | == Design Principles == | ||
The Jasmine developer community believes that a good JavaScript testing framework must follow these principles. <ref | The Jasmine developer community believes that a good JavaScript testing framework must follow these principles. <ref name="Background"/> | ||
* should not be tied to any browser, framework, platform, or host language. | * should not be tied to any browser, framework, platform, or host language. | ||
* should have idiomatic and unsurprising syntax. | * should have idiomatic and unsurprising syntax. | ||
Line 19: | Line 19: | ||
== Goals == | == Goals == | ||
The Jasmine framework is written with the objective of meeting these goals.<ref | The Jasmine framework is written with the objective of meeting these goals.<ref name="Background"/> | ||
* it should encourage good testing practices. | * it should encourage good testing practices. | ||
* it should integrate easily with continuous build systems. | * it should integrate easily with continuous build systems. |
Revision as of 20:35, 4 October 2014
Jasmine is an open source Behavior Driven Development (BDD) based testing framework for JavaScript. Jasmine aims to run on any Javascript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax.
It can be used in the Rails framework. Jasmine ships as a Rubygem and leverages familiar rake tasks and generators to automate common workflows. Jasmine is heavily influenced by other unit testing frameworks, such as ScrewUnit, JSSpec, JSpec, and RSpec; and has syntax very similar to RSpec.
Background
The Jasmine framework was developed since developers to address certain specific concerns in existing testing frameworks <ref name="Background">https://github.com/pivotal/jasmine/wiki/Background</ref>
- Many frameworks only work from within a browser.
- Many don't support testing asynchronous code like event callbacks.
- Some have syntax that's hard for JS developers or IDEs to understand.
Design Principles
The Jasmine developer community believes that a good JavaScript testing framework must follow these principles. <ref name="Background"/>
- 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).
Goals
The Jasmine framework is written with the objective of meeting these goals.<ref name="Background"/>
- it should encourage good testing practices.
- it should integrate easily with continuous build systems.
- it should be simple to get started with.
Usage
Behavior Driven Design
Drawbacks
References
<references/>