jasmine/README.markdown

2.9 KiB

Jasmine

A JavaScript Testing Framework

Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.

Documentation & guides live here: http://pivotal.github.com/jasmine/

Support

How to Contribute

We welcome your contributions - Thanks for helping make Jasmine a better project for everyone. Please review the backlog and discussion lists (the main group - http://groups.google.com/group/jasmine-js and the developer's list - http://groups.google.com/group/jasmine-js-dev) before starting work - what you're looking for may already have been done. If it hasn't, the community can help make your contribution better.

Development Environment

Jasmine Core relies on Ruby for executing the test suite and building the project for release. The spec suite runs in any major, modern browser (Firefox, Safari, Chrome, and yes various IE's) and in Node.js. While you probably have browsers installed, you want to make sure that Ruby and Node are present.

How to Develop for Jasmine Core

  • Write specs
  • Make them pass in a browser (or three):
    • open spec/runner.html in your browsers
    • rake spec:browser will run in the default browser on MacOS
  • Make them pass in Node: rake spec:node
  • Fix any warnings or errors from JSHint: rake jasmine:lint

Running rake spec will run the browser tests, then run specs in Node, then run JSHint. But this will only run in the default browser and only on MacOS (for now).

Making a Successful Pull Request

  • Include specs for your work - it helps us understand your intent and makes sure that future development doesn't break your work
  • Ensure the full test suite is green in all the big browsers, Node, and JSHint - your contribution shouldn't break Jasmine for other users

Do these things and we'll take a look.

Maintainers

Copyright (c) 2008-2011 Pivotal Labs. This software is licensed under the MIT License.