Software testing for humans
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.
Install from npm
$ cd /my/project$ npm install intern@next
intern.json file in your project root.
Verify that your configuration works by running Intern and checking that no errors are output.
Start writing tests!
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
Intern can run unit tests in most browsers that support ECMAScript 5, including mobile browsers on Android and iOS, and in Node 6+. Note that Internet Explorer 9 is currently not supported.
Intern’s self-tests run against IE 10 and 11, Firefox 33 and current, Chrome 38 and current, and Safari 9 and 10, as well as Node 6 and 8.
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.
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 page for more information.
Intern is a JS Foundation project offered under the New BSD license.