Intern vs Pure Test
Intern
theintern.ioPure Test
github.comSide by side
| Figure | Intern | Pure Test |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | — |
| Android | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.9 (#7) | 8.0 (#6) |
| License | The homepage identifies Intern as New BSD licensed. | The repository identifies the project as Apache-2.0 licensed. |
| Purpose | Intern is a JavaScript testing framework for websites and applications. | Pure Test is a minimal, zero-dependency, cross-runtime test runner. |
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.
Pure Test
Pure Test is a free, minimal test runner for projects using JavaScript runtimes and browsers. It supports Node.js, Deno, Bun, Cloudflare Workers, and browsers, and its API includes test suites, assertions, lifecycle hooks, spies, fake timers, and retry and timeout options. The CLI provides multiple reporters, test filters, file watching, sharding, and fail-fast execution. For CI, `--shard` splits test files across jobs and exits cleanly when a shard has no files. TypeScript test discovery requires `--ts` on Node.js; it is automatic on Deno and Bun. A Deno adapter registers tests as `Deno.test()` calls for use with `deno test` and its filtering and IDE workflows. The README includes migration guides for Jest and Vitest and notes compatibility with common mock methods. Pure Test does not isolate tests, so lifecycle hooks are recommended for managing state. The project is beta, and its APIs may change. It is Apache-2.0 licensed, with no paid plans stated.