Skip to content
Test spies, stubs and mocks for JavaScript.
JavaScript Other
Find file
Pull request Compare This branch is 3 commits ahead, 697 commits behind sinonjs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Feature detect CustomEvent and ProgressEvent
pkg Un-ignore pkg directory so builds are committed
test
.gitignore Un-ignore pkg directory so builds are committed
.npmignore Improvements for npm publishing. Fixes #232.
.travis.yml
AUTHORS Update authors file
Changelog.txt
LICENSE Defensively check for prototype in calledWithNew
README.md Since 'juicer' is a generic term, it might make sense to add how to i…
bower.json
build Replace buster dependency with formatio
jsl.conf 1.0.0 cleanup
package.json 1.8.2
release.sh Fix typo

README.md

Sinon.JS

Build status

Standalone and test framework agnostic JavaScript test spies, stubs and mocks.

Installation

via npm (node package manager)

$ npm install sinon

via NuGet (package manager for Microsoft development platform)

Install-Package SinonJS

or install via git by cloning the repository and including sinon.js in your project, as you would any other third party library.

Don't forget to include the parts of Sinon.JS that you want to use as well (i.e. spy.js).

Usage

See the sinon project homepage

Goals

  • No global pollution
  • Easy to use
  • Require minimal “integration”
  • Easy to embed seamlessly with any testing framework
  • Easily fake any interface
  • Ship with ready-to-use fakes for XMLHttpRequest, timers and more

Contribute?

Pick an issue to fix, or pitch new features. To avoid wasting your time, please ask for feedback on feature suggestions either with an issue or on the mailing list.

Run the tests

The Sinon.JS developer environment requires Node/NPM. Please make sure you have Node installed, and install Sinon's dependencies:

$ npm install

On Node

$ npm test

In the browser

Open test/sinon.html in a browser. To test against a built distribution, first make sure you have a build (requires Ruby and Juicer):

$ ./build

Then open test/sinon-dist.html in a browser.

If the build script is unable to find Juicer, try

$ ruby -rubygems build

Some tests needs working XHR to pass. To run the tests over an HTTP server, run

$ node_modules/http-server/bin/http-server

Then open localhost:8080/test/sinon.html in a browser.

On Rhino

The Rhino tests are currently out of commission (pending update after switch to Buster.JS for tests).

Something went wrong with that request. Please try again.