[6a3a178] | 1 | # Karma
|
---|
| 2 | [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/karma-runner/karma) [![npm version](https://img.shields.io/npm/v/karma.svg?style=flat-square)](https://www.npmjs.com/package/karma) [![npm downloads](https://img.shields.io/npm/dm/karma.svg?style=flat-square)](https://npmcharts.com/compare/karma?minimal=true)
|
---|
| 3 |
|
---|
| 4 | [![Build Status](https://img.shields.io/travis/karma-runner/karma/master.svg?style=flat-square)](https://travis-ci.org/karma-runner/karma) [![Build Status](https://img.shields.io/appveyor/ci/dignifiedquire/karma/master.svg?style=flat-square)](https://ci.appveyor.com/project/dignifiedquire/karma) [![Code Climate](https://img.shields.io/codeclimate/github/karma-runner/karma.svg?style=flat-square)](https://codeclimate.com/github/karma-runner/karma) [![PRs Welcome](https://img.shields.io/badge/prs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com/) [![Dependency Status](https://img.shields.io/david/karma-runner/karma.svg?style=flat-square)](https://david-dm.org/karma-runner/karma) [![devDependency Status](https://img.shields.io/david/dev/karma-runner/karma.svg?style=flat-square)](https://david-dm.org/karma-runner/karma#info=devDependencies) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
|
---|
| 5 |
|
---|
| 6 | A simple tool that allows you to execute JavaScript code in multiple
|
---|
| 7 | _real_ browsers.
|
---|
| 8 |
|
---|
| 9 | > The main purpose of Karma is to make your test-driven development easy,
|
---|
| 10 | > fast, and fun.
|
---|
| 11 |
|
---|
| 12 |
|
---|
| 13 | ## Help and Support
|
---|
| 14 |
|
---|
| 15 | > For questions and support please use the mailing list or Gitter.
|
---|
| 16 | > The issue tracker is for bug reports and feature discussions only.
|
---|
| 17 |
|
---|
| 18 | * Obligatory [documentation]
|
---|
| 19 | * Quick questions:
|
---|
| 20 | [![Gitter Chat](https://img.shields.io/badge/GITTER-join%20chat-green.svg?style=flat-square)](https://gitter.im/karma-runner/karma)
|
---|
| 21 | * Longer questions: [Mailing List]
|
---|
| 22 | * Bug reports [Issue Tracker]
|
---|
| 23 | * Everything less than 140 characters: [@JsKarma] on Twitter
|
---|
| 24 |
|
---|
| 25 |
|
---|
| 26 |
|
---|
| 27 | ## When should I use Karma?
|
---|
| 28 |
|
---|
| 29 | * You want to test code in *real* browsers.
|
---|
| 30 | * You want to test code in multiple browsers (desktop, mobile,
|
---|
| 31 | tablets, etc.).
|
---|
| 32 | * You want to execute your tests locally during development.
|
---|
| 33 | * You want to execute your tests on a continuous integration server.
|
---|
| 34 | * You want to execute your tests on every save.
|
---|
| 35 | * You love your terminal.
|
---|
| 36 | * You don't want your (testing) life to suck.
|
---|
| 37 | * You want to use [Istanbul] to automagically generate coverage
|
---|
| 38 | reports.
|
---|
| 39 | * You want to use [RequireJS] for your source files.
|
---|
| 40 |
|
---|
| 41 |
|
---|
| 42 | ## But I still want to use \_insert testing library\_
|
---|
| 43 |
|
---|
| 44 | Karma is not a testing framework, nor an assertion library.
|
---|
| 45 | Karma just launches an HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework.
|
---|
| 46 | So for testing purposes you can use pretty much anything you like. There are already plugins for most of the common testing frameworks:
|
---|
| 47 |
|
---|
| 48 | * [Jasmine]
|
---|
| 49 | * [Mocha]
|
---|
| 50 | * [QUnit]
|
---|
| 51 | * and [many others](https://www.npmjs.com/search?q=keywords:karma-adapter)
|
---|
| 52 |
|
---|
| 53 | If you can't find an adapter for your favourite framework, don't worry and write your own.
|
---|
| 54 | It's not that hard and we are here to help.
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | ## Which Browsers can I use?
|
---|
| 58 |
|
---|
| 59 | All the major browsers are supported, if you want to know more see the
|
---|
| 60 | [browsers] page.
|
---|
| 61 |
|
---|
| 62 |
|
---|
| 63 | ## Troubleshooting
|
---|
| 64 | See [FAQ](https://karma-runner.github.io/latest/intro/faq.html).
|
---|
| 65 |
|
---|
| 66 |
|
---|
| 67 | ## I want to use it. Where do I sign?
|
---|
| 68 |
|
---|
| 69 | You don't need to sign anything but here are some resources to help
|
---|
| 70 | you to get started...
|
---|
| 71 |
|
---|
| 72 |
|
---|
| 73 | ### Obligatory Screencast.
|
---|
| 74 |
|
---|
| 75 | Every serious project has a screencast, so here is ours. Just click
|
---|
| 76 | [here] and let the show begin.
|
---|
| 77 |
|
---|
| 78 |
|
---|
| 79 | ### Installation.
|
---|
| 80 |
|
---|
| 81 | See [installation](https://karma-runner.github.io/latest/intro/installation.html).
|
---|
| 82 |
|
---|
| 83 |
|
---|
| 84 | ### Using it.
|
---|
| 85 |
|
---|
| 86 | See [configuration](https://karma-runner.github.io/latest/intro/configuration.html).
|
---|
| 87 |
|
---|
| 88 |
|
---|
| 89 | ## This is so great. I want to help.
|
---|
| 90 |
|
---|
| 91 | Please, see
|
---|
| 92 | [contributing](https://karma-runner.github.io/latest/dev/contributing.html).
|
---|
| 93 |
|
---|
| 94 |
|
---|
| 95 | ## Why did you create this?
|
---|
| 96 |
|
---|
| 97 | Throughout the development of [AngularJS], we've been using [JSTD] for
|
---|
| 98 | testing. I really think that JSTD is a great idea. Unfortunately, we
|
---|
| 99 | had many problems with JSTD, so we decided to write our own test
|
---|
| 100 | runner based on the same idea. We wanted a simple tool just for
|
---|
| 101 | executing JavaScript tests that is both stable and fast. That's why we
|
---|
| 102 | use the awesome [Socket.io] library and [Node.js].
|
---|
| 103 |
|
---|
| 104 |
|
---|
| 105 | ## My boss wants a license. So where is it?
|
---|
| 106 | [MIT License](./LICENSE)
|
---|
| 107 |
|
---|
| 108 |
|
---|
| 109 | [AngularJS]: https://angularjs.org/
|
---|
| 110 | [JSTD]: https://code.google.com/p/js-test-driver/
|
---|
| 111 | [Socket.io]: https://socket.io/
|
---|
| 112 | [Node.js]: https://nodejs.org/
|
---|
| 113 | [Jasmine]: https://github.com/karma-runner/karma-jasmine
|
---|
| 114 | [Mocha]: https://github.com/karma-runner/karma-mocha
|
---|
| 115 | [QUnit]: https://github.com/karma-runner/karma-qunit
|
---|
| 116 | [here]: https://www.youtube.com/watch?v=MVw8N3hTfCI
|
---|
| 117 | [Mailing List]: https://groups.google.com/forum/#!forum/karma-users
|
---|
| 118 | [Issue Tracker]: https://github.com/karma-runner/karma/issues
|
---|
| 119 | [@JsKarma]: https://twitter.com/JsKarma
|
---|
| 120 | [RequireJS]: https://requirejs.org/
|
---|
| 121 | [Istanbul]: https://github.com/gotwarlost/istanbul
|
---|
| 122 |
|
---|
| 123 | [browsers]: https://karma-runner.github.io/latest/config/browsers.html
|
---|
| 124 | [documentation]: https://karma-runner.github.io
|
---|