README.md (googletest-release-1.10.0) | : | README.md (googletest-release-1.11.0) | ||
---|---|---|---|---|
# Google Test | # GoogleTest | |||
#### OSS Builds Status: | ### Announcements | |||
[] | #### Live at Head | |||
(https://travis-ci.org/google/googletest) | ||||
[](https://ci.appveyor.com/project/GoogleTestAppVeyor/google | ||||
test/branch/master) | ||||
### Future Plans | GoogleTest now follows the | |||
[Abseil Live at Head philosophy](https://abseil.io/about/philosophy#upgrade-supp | ||||
ort). | ||||
We recommend using the latest commit in the `master` branch in your projects. | ||||
#### 1.8.x Release: | #### Documentation Updates | |||
[the 1.8.x](https://github.com/google/googletest/releases/tag/release-1.8.1) is | Our documentation is now live on GitHub Pages at | |||
the last release that works with pre-C++11 compilers. The 1.8.x will not accept | https://google.github.io/googletest/. We recommend browsing the documentation on | |||
any requests for any new features and any bugfix requests will only be accepted | GitHub Pages rather than directly in the repository. | |||
if proven "critical" | ||||
#### Post 1.8.x: | #### Release 1.10.x | |||
On-going work to improve/cleanup/pay technical debt. When this work is completed | [Release 1.10.x](https://github.com/google/googletest/releases/tag/release-1.10. | |||
there will be a 1.9.x tagged release | 0) | |||
is now available. | ||||
#### Post 1.9.x | #### Coming Soon | |||
Post 1.9.x googletest will follow | * We are planning to take a dependency on | |||
[Abseil Live at Head philosophy](https://abseil.io/about/philosophy) | [Abseil](https://github.com/abseil/abseil-cpp). | |||
* More documentation improvements are planned. | ||||
## Welcome to **Google Test**, Google's C++ test framework! | ## Welcome to **GoogleTest**, Google's C++ test framework! | |||
This repository is a merger of the formerly separate GoogleTest and GoogleMock | This repository is a merger of the formerly separate GoogleTest and GoogleMock | |||
projects. These were so closely related that it makes sense to maintain and | projects. These were so closely related that it makes sense to maintain and | |||
release them together. | release them together. | |||
Please subscribe to the mailing list at googletestframework@googlegroups.com for | ### Getting Started | |||
questions, discussions, and development. | ||||
### Getting started: | See the [GoogleTest User's Guide](https://google.github.io/googletest/) for | |||
documentation. We recommend starting with the | ||||
[GoogleTest Primer](https://google.github.io/googletest/primer.html). | ||||
The information for **Google Test** is available in the | More information about building GoogleTest can be found at | |||
[Google Test Primer](googletest/docs/primer.md) documentation. | [googletest/README.md](googletest/README.md). | |||
**Google Mock** is an extension to Google Test for writing and using C++ mock | ||||
classes. See the separate [Google Mock documentation](googlemock/README.md). | ||||
More detailed documentation for googletest is in its interior | ||||
[googletest/README.md](googletest/README.md) file. | ||||
## Features | ## Features | |||
* An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. | * An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. | |||
* Test discovery. | * Test discovery. | |||
* A rich set of assertions. | * A rich set of assertions. | |||
* User-defined assertions. | * User-defined assertions. | |||
* Death tests. | * Death tests. | |||
* Fatal and non-fatal failures. | * Fatal and non-fatal failures. | |||
* Value-parameterized tests. | * Value-parameterized tests. | |||
* Type-parameterized tests. | * Type-parameterized tests. | |||
* Various options for running the tests. | * Various options for running the tests. | |||
* XML test report generation. | * XML test report generation. | |||
## Platforms | ## Supported Platforms | |||
GoogleTest requires a codebase and compiler compliant with the C++11 standard or | ||||
newer. | ||||
The GoogleTest code is officially supported on the following platforms. | ||||
Operating systems or tools not listed below are community-supported. For | ||||
community-supported platforms, patches that do not complicate the code may be | ||||
considered. | ||||
Google test has been used on a variety of platforms: | If you notice any problems on your platform, please file an issue on the | |||
[GoogleTest GitHub Issue Tracker](https://github.com/google/googletest/issues). | ||||
Pull requests containing fixes are welcome! | ||||
### Operating Systems | ||||
* Linux | * Linux | |||
* Mac OS X | * macOS | |||
* Windows | * Windows | |||
* Cygwin | ||||
* MinGW | ||||
* Windows Mobile | ||||
* Symbian | ||||
* PlatformIO | ||||
## Who Is Using Google Test? | ### Compilers | |||
* gcc 5.0+ | ||||
* clang 5.0+ | ||||
* MSVC 2015+ | ||||
**macOS users:** Xcode 9.3+ provides clang 5.0+. | ||||
### Build Systems | ||||
In addition to many internal projects at Google, Google Test is also used by the | * [Bazel](https://bazel.build/) | |||
* [CMake](https://cmake.org/) | ||||
**Note:** Bazel is the build system used by the team internally and in tests. | ||||
CMake is supported on a best-effort basis and by the community. | ||||
## Who Is Using GoogleTest? | ||||
In addition to many internal projects at Google, GoogleTest is also used by the | ||||
following notable projects: | following notable projects: | |||
* The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser | * The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser | |||
and Chrome OS). | and Chrome OS). | |||
* The [LLVM](http://llvm.org/) compiler. | * The [LLVM](http://llvm.org/) compiler. | |||
* [Protocol Buffers](https://github.com/google/protobuf), Google's data | * [Protocol Buffers](https://github.com/google/protobuf), Google's data | |||
interchange format. | interchange format. | |||
* The [OpenCV](http://opencv.org/) computer vision library. | * The [OpenCV](http://opencv.org/) computer vision library. | |||
* [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn): header only, | ||||
dependency-free deep learning framework in C++11. | ||||
## Related Open Source Projects | ## Related Open Source Projects | |||
[GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based | [GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based | |||
automated test-runner and Graphical User Interface with powerful features for | automated test-runner and Graphical User Interface with powerful features for | |||
Windows and Linux platforms. | Windows and Linux platforms. | |||
[Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that | [GoogleTest UI](https://github.com/ospector/gtest-gbar) is a test runner that | |||
runs your test binary, allows you to track its progress via a progress bar, and | runs your test binary, allows you to track its progress via a progress bar, and | |||
displays a list of test failures. Clicking on one shows failure text. Google | displays a list of test failures. Clicking on one shows failure text. Google | |||
Test UI is written in C#. | Test UI is written in C#. | |||
[GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event | [GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event | |||
listener for Google Test that implements the | listener for GoogleTest that implements the | |||
[TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test | [TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test | |||
result output. If your test runner understands TAP, you may find it useful. | result output. If your test runner understands TAP, you may find it useful. | |||
[gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that | [gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that | |||
runs tests from your binary in parallel to provide significant speed-up. | runs tests from your binary in parallel to provide significant speed-up. | |||
[GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSc huldenfrei.gtest-adapter) | [GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSc huldenfrei.gtest-adapter) | |||
is a VS Code extension allowing to view Google Tests in a tree view, and | is a VS Code extension allowing to view GoogleTest in a tree view, and run/debug | |||
run/debug your tests. | your tests. | |||
## Requirements | ||||
Google Test is designed to have fairly minimal requirements to build and use | ||||
with your projects, but there are some. If you notice any problems on your | ||||
platform, please notify | ||||
[googletestframework@googlegroups.com](https://groups.google.com/forum/#!forum/g | ||||
oogletestframework). | ||||
Patches for fixing them are welcome! | ||||
### Build Requirements | ||||
These are the base requirements to build and use Google Test from a source | ||||
package: | ||||
* [Bazel](https://bazel.build/) or [CMake](https://cmake.org/). NOTE: Bazel is | [C++ TestMate](https://github.com/matepek/vscode-catch2-test-adapter) is a VS | |||
the build system that googletest is using internally and tests against. | Code extension allowing to view GoogleTest in a tree view, and run/debug your | |||
CMake is community-supported. | tests. | |||
* a C++11-standard-compliant compiler | [Cornichon](https://pypi.org/project/cornichon/) is a small Gherkin DSL parser | |||
that generates stub code for GoogleTest. | ||||
## Contributing change | ## Contributing Changes | |||
Please read the [`CONTRIBUTING.md`](CONTRIBUTING.md) for details on how to | Please read | |||
contribute to this project. | [`CONTRIBUTING.md`](https://github.com/google/googletest/blob/master/CONTRIBUTIN | |||
G.md) | ||||
for details on how to contribute to this project. | ||||
Happy testing! | Happy testing! | |||
End of changes. 28 change blocks. | ||||
68 lines changed or deleted | 73 lines changed or added |