Intern vs Karma
Intern
theintern.ioKarma
karma-runner.github.ioSide by side
| Figure | Intern | Karma |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | Yes |
| Android | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.9 (#7) | 8.2 (#3) |
| CI integrations | The homepage lists Travis CI, Jenkins, and TeamCity as out-of-the-box integrations. | The documentation provides integration guides for Travis CI, Jenkins, and Semaphore CI. |
| License | The homepage identifies Intern as New BSD licensed. | Karma is released under the MIT license. |
| Purpose | Intern is a JavaScript testing framework for websites and applications. | Karma runs JavaScript tests in multiple real browsers and reports results to developers. |
| Support | The homepage says free community support is available through Stack Overflow, Gitter, and IRC. | The project directs questions to its mailing list or Gitter and says the issue tracker is for bug reports and feature discussions. |
Plans
In their own words
Intern
Intern is a free, open-source test system for JavaScript libraries and applications. It supports unit and functional testing, with tests written in JavaScript or TypeScript using TDD or BDD styles. Tests can run in Node.js, web browsers, or across multiple browsers and platforms through the Intern runner, with parallel execution and code coverage reporting. The project can target web pages and native or hybrid iOS and Android applications. For browser automation, it supports WebDriver-compatible tools and services, including Selenium, Appium, and Selendroid. Listed cloud options include Sauce Labs, BrowserStack, TestingBot, and a user’s own Selenium Grid. Continuous-integration integrations include Travis CI, Jenkins, and TeamCity. Intern’s extensible architecture allows custom test interfaces, executors, and reporters. It runs on Android, iOS, Linux, macOS, self-hosted environments, the web, and Windows. Installation is provided through npm, and the project uses the New BSD license.
Karma
Karma is a JavaScript test runner that starts a web server, connects browsers, runs tests, and reports results to developers. It can watch configured files and rerun tests when they change. Plugins connect frameworks such as Jasmine, Mocha, and QUnit, alongside preprocessors, reporters, and browser launchers. Documented launchers include Chrome, Firefox, Safari, PhantomJS, JSDOM, Opera, Internet Explorer, SauceLabs, and BrowserStack. A browser on another device on the same network, including a phone or tablet, can be captured by visiting the Karma server URL. Karma runs on Node.js and is distributed as an npm package; its installation guide recommends installing it locally in a project. Documentation includes integration guides for Travis CI, Jenkins, and Semaphore CI. The project describes Karma as primarily designed for low-level unit testing and points to Protractor for high-level testing. Karma is free and MIT-licensed, but deprecated: it accepts no new features or general bug fixes. Critical security fixes continue until 12 months after Angular CLI’s Web Test Runner support is marked stable.