Skip to content
Max Hill edited this page Aug 7, 2016 · 2 revisions

Unit Testing

An overview of the tools used by this boilerplate for unit testing:

  • Karma: the test runner that launches browsers, runs the tests and reports the results to us.
  • karma-webpack: the plugin for Karma that bundles our tests using Webpack.
  • Mocha: the test framework that we write test specs with.
  • Chai: test assertion library that provides better assertion syntax.
  • Sinon: test utility library that provides spies, stubs and mocks.

Chai and Sinon are integrated using karma-sinon-chai, so all Chai interfaces (should, expect, assert) and sinon are globally available in test files.

And the files:

  • index.js

    This the entry file used by karma-webpack to bundle all the test code and source code (for coverage purposes). You can ignore it for the most part.

  • specs/

    This directory is where you write your actual tests. You can use full ES2015 and all supported Webpack loaders in your tests.

  • karma.conf.js

    This is the Karma configuration file. See Karma docs for more details.

  • helpers.js

    This is a helpers file where you can specify test helpers. Out of the box you get functionality for bootstraping a component.

Running Tests in More Browsers

You can run the tests in multiple real browsers by installing more karma launchers and adjusting the browsers field in test/unit/karma.conf.js.

Mocking Dependencies

This boilerplate comes with inject-loader installed by default. For usage with *.vue components, see vue-loader docs on testing with mocks.

Clone this wiki locally