Popularity
5.9
Stable
Activity
0.0
Declining
4,366
115
321

Description

Intern is a complete test system for JavaScript designed to help you write and run consistent, high-quality test cases for your JavaScript libraries and applications. It can be used to test any JavaScript code. It can even be used to test non-JavaScript Web and mobile apps, and to run tests written for other test systems.

If you’re into name-dropping, Intern gets used every day by teams at Twitter, Stripe, Mozilla, IBM, Marriott, Philips, Zenput, Alfresco, Esri, HSBC, ING, Intuit, and more. It’s also the testing framework of choice for growing numbers of open-source projects.

Learn more about Intern at https://theintern.github.io.

Code Quality Rank: L5
Monthly Downloads: 0
Programming language: TypeScript
License: GNU General Public License v3.0 or later
Tags: Testing Frameworks     Runner     Testing     Code Coverage     JavaScript     TDD     BDD     Test     Sauce Labs     Selenium     Toolkit     Dojo     Chai     Istanbul     Xunit     Continuous Integration     Ci     Unit    
Latest version: v4.9.0

intern alternatives and similar libraries

Based on the "Runner" category.
Alternatively, view intern alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of intern or a related project?

Add another 'Runner' Library

README

Intern

<!-- start-github-only -->

Software testing for humans

<!--Build Status-->

CI status codecov Average time to resolve an issue Percentage of issues still open FOSSA Status

<!-- end-github-only -->

⚠️ This documentation is for the development version of Intern. For the current release version, go here.

Intern is a complete test system for JavaScript designed to help you write and run consistent, high-quality test cases for your JavaScript libraries and applications. It can be used to test any JavaScript code.

  • Plain JavaScript code, in any module format (or no module format!)
  • Web pages generated by server-side languages (like Java, PHP, or Ruby)
  • Native or hybrid iOS, Android, and Firefox OS applications
  • TypeScript code when running in Node, with no additional config

Intern is minimally prescriptive and enforces only a basic set of best practices designed to ensure your tests stay maintainable over time. Its extensible architecture allows you to write custom test interfaces, executors, and reporters to influence how your tests run & easily integrate with your existing coding environment. Intern also comes with Grunt tasks so it can be quickly added to existing Grunt-based workflows, and is designed to work out-of-the-box with popular continuous integration services like Jenkins and Travis CI.

If you’re into name-dropping, Intern gets used every day by teams at Twitter, Stripe, Mozilla, IBM, Marriott, Philips, Zenput, Alfresco, Esri, HSBC, ING, Intuit, and more. It’s also the testing framework of choice for growing numbers of open-source projects.

<!-- prettier-ignore-start -->

💡 Recently updated your browser and your WebDriver tests stopped working? You may need to [pin your WebDriver versions](./docs/running.md#selenium). <!-- prettier-ignore-end -->

Quick start

  1. Install from npm

    $ cd /my/project
    $ npm install intern
    
  2. Create an intern.json file in your project root.

    {
      "suites": "tests/unit/**/*.js"
    }
    
  3. Verify that your configuration works by running Intern and checking that no errors are output.

    $ ./node_modules/.bin/intern
    
  4. Start [writing tests](docs/writing_tests.md)!

TypeScript setup

Intern installs a global variable that tests may not be aware of if nothing imports the base intern package. To ensure Intern’s types are loaded, add the following to your tsconfig.json:

{
  "compilerOptions": {
    "types": ["intern"]
  }
}

Alternatively, add a triple-slash directive to the top of your suite files:

/// <reference types="intern" />

Compatibility

Intern can run unit tests in most browsers that support ECMAScript 5, including mobile browsers on Android and iOS, and in Node 10+. Note that Internet Explorer versions below 11 are not supported.

Intern’s self-tests run against IE 11, Safari 13, and the most recent few vesions of Firefox, Chrome, and Chromium Edge, as well as the latest LTS and current versions of Node.

Intern can run functional tests using WebDriver-compatible applications and services, including Selenium, Appium, Selendroid. It has built-in support for cloud testing services from BrowserStack, CrossBrowserTesting, SauceLabs, and TestingBot.

<!-- start-github-only -->

More information

Using Intern

  • [Getting started](docs/getting_started.md) - Setting up Intern to test a project
  • [How To](docs/how_to.md) - Quick answers to common questions
  • [Configuration](docs/configuration.md) - How to configure Intern
  • [Writing tests](docs/writing_tests.md) - The various ways of writing tests with Intern
  • [Running](docs/running.md) - How to run Intern
  • [Concepts](docs/concepts.md) - General testing concepts and definitions
  • [Continuous integration](docs/ci.md) - Using Intern with CI systems
  • [API](docs/api.md) - Summary API documentation

Extending Intern

  • [Architecture](docs/architecture.md) - How Intern is organized
  • [Extending](docs/extending.md) - Extending Intern with reporters and other plugins
  • [Developing](docs/developing.md) - For Intern developers
  • [Contributing](CONTRIBUTING.md) - How to contribute to Intern development <!-- end-github-only -->

Get help

The best place to ask questions and get answers about Intern is Stack Overflow. Just tag your question with intern. If you have more immediate questions, or just want to chat with other people interested in Intern, join the Gitter room at theintern/intern. See the [Help](docs/help.md) page for more information.

<!-- start-github-only -->

License

Intern is a JS Foundation project offered under the [New BSD](LICENSE) license.

FOSSA Status

© SitePen, Inc. and its contributors

Intern’s self-tests run on <!-- end-github-only -->

<!-- doc-viewer-config { "api": "packages/core/docs/api.json", "pages": [ "docs/getting_started.md", "docs/changes_from_3.md", "docs/how_to.md", "docs/concepts.md", "docs/architecture.md", "docs/configuration.md", "docs/writing_tests.md", "docs/running.md", "docs/ci.md", "docs/extending.md", "docs/developing.md" ] } -->


*Note that all licence references and agreements mentioned in the intern README section above are relevant to that project's source code only.