/ember-js-mock

Ember addon to make JsMock available as an import in Ember's application tests.

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Ember JsMock

Build Status

Ember addon to make JsMock available as an import in your tests. JsMock is a simple mocking test framework, which can be used with any test framework. It is inspired by jMock and Sinon.js with its interface being very similar to Sinon in order to make it easy to switch between those two frameworks.

ember-js-mock was inspired by ember-sinon.

Installation

Install JsMock in your ember application using the latest Ember CLI:

$ ember install ember-js-mock

Note: ember-js-mock currently depends on ember-js-hamcrest to installed as well. This may change in the future, but for now, please run the following install command as well.

$ ember install ember-jshamcrest

Getting Started

In order to use JsMock in your tests, simply import it in your test file.

import { module, test } from 'qunit';
import JsMock from 'js-mock';

// Declare your mock only once, there is no need to copy & paste t
// his code into every test case.
var testMock;

module('Acceptance | js mock', {
  beforeEach: function () {
    JsMock.watch(function () {
      testMock = JsMock.mock("test");
    });
  },
  afterEach: function() {
    // Ensure that all expectations are fulfilled after each test case.
    JsMock.assertWatched();
  }
});

test('verify js-mock is available', function(assert) {
  testMock.once();

  testMock();

  // If there is no other assertion needed in the test method
  // then simply use `assertIfSatisfied()`.
  assert.ok(JsMock.assertWatched());
});

API Docs

The full API documentation for JsMock can be found here.

License

BSD 3-clause, see License.md

Changelog

Due to a number of NPM packaging issues (see npm/npm#5082), the majority of the previous packages have had issues. Consequently, I am considering version 0.6.1 to be the initial release.

Major release versions will be synchronized between ember-js-mock and js-mock.

1.0.0

  • Upgraded js-mock to 1.0.0
  • Added ember-jshamcrest as a dependency as it is required by js-mock in v1

0.6.1

  • Initial release