GoogleTest vs Jasmine
GoogleTest
google.github.ioJasmine
jasmine.github.ioSide by side
| Figure | GoogleTest | Jasmine |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Unit Testing | 8.0 (#7) | 7.9 (#11) |
| Spec score · Unit Testing Frameworks | 8.1 (#8) | 7.9 (#14) |
| License | The repository uses the BSD-3-Clause license, permitting source and binary redistribution subject to its conditions and disclaimer. | The Jasmine project repository states that the software is licensed under the MIT License. |
| Purpose | GoogleTest is Google’s C++ testing and mocking framework. | Jasmine is a framework for testing JavaScript code that runs in browsers and Node.js. |
Plans
In their own words
GoogleTest
GoogleTest is Google’s free C++ framework for testing and mocking on Linux, macOS, and Windows. Built on the xUnit architecture, it supports many kinds of C++ tests rather than only unit tests and discovers tests automatically without manual registration. Assertions cover equality, inequality, exceptions, and other conditions, with support for user-defined assertions. The framework includes fatal and non-fatal failures, death tests, and value-parameterized and type-parameterized cases. Developers can run individual tests, choose an order, or execute tests in parallel. Quickstarts cover Bazel and CMake, and pkg-config files help compile and link GoogleTest and GoogleMock. Documentation includes primers, advanced topics, mocking guides, FAQs, references, samples, and community material. The 1.18.x branch requires at least C++17. GoogleTest follows Google’s Foundational C++ Support Policy and publishes supported compiler, platform, and build-tool versions. It uses the BSD-3-Clause license, permitting redistribution under its conditions.
Jasmine
Jasmine is a free, open-source framework for testing JavaScript code in browsers and Node.js. Tests use JavaScript’s describe/it structure and expect matchers. The jasmine-core package has no external dependencies, and the framework does not rely on other JavaScript frameworks. For Node, developers can install the package locally with npm and run it using npx jasmine; the standalone distribution runs browser specs without other tools or a web server. Jasmine supports ES modules, and its Node setup can also load CommonJS modules. The jasmine-browser-runner supports interactive browser runs and CI execution with headless Chrome or Sauce Labs. It can also connect to Sauce Labs or a user’s own Selenium Grid as a remote browser grid. Runners can be configured, reporters and matchers customized, and spec order randomized. The project lists JavaScript and TypeScript support, parallel execution and built-in mocks. Browser and Node compatibility follows a rolling window, so older platforms may receive best-effort support or be dropped in minor releases. The FAQ notes that the unmaintained karma-jasmine adapter depends on jasmine-core 4.x, which can limit access to newer Jasmine features. The project uses the MIT License and directs users to GitHub for issues and contributions.