GoogleTest vs NUnit
GoogleTest
google.github.ioNUnit
nunit.orgSide by side
| Figure | GoogleTest | NUnit |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Unit Testing | 8.0 (#7) | 7.8 (#13) |
| Spec score · Unit Testing Frameworks | 8.1 (#8) | 7.8 (#19) |
| Purpose | GoogleTest is Google’s C++ testing and mocking framework. | NUnit is a unit-testing framework for .NET languages. |
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.
NUnit
NUnit is a unit-testing framework for .NET languages, with supported languages listed as C#, VB.NET, F#, and C++. NUnit 3 and later releases use the MIT license, which permits free use in commercial and noncommercial applications and libraries. NUnit 5 adds attributes for declaring dependencies between tests and fixtures. Its Repeat feature can set a required pass percentage from 1 to 100 and optionally stop once the outcome is determined. NUnit 5 ships builds targeting net462, net8.0, and net10.0. Installation options include project templates for Visual Studio, Visual Studio Code, and Rider, along with the dotnet new nunit command; release packages are available through NuGet and GitHub. The Visual Studio template references the NUnit Test Adapter, NUnit Analyzer, Microsoft Test SDK, and coverlet code coverage package. Documentation describes automated runs on clean machines, including Azure DevOps and GitHub Actions build agents. The project is supported by the .NET Foundation and maintained by a core team and community contributors.