README.md (4689B)
1 # Google Test 2 3 #### OSS Builds Status: 4 5 [](https://travis-ci.org/google/googletest) 6 [](https://ci.appveyor.com/project/GoogleTestAppVeyor/googletest/branch/master) 7 8 ### Future Plans 9 10 #### 1.8.x Release: 11 12 [the 1.8.x](https://github.com/google/googletest/releases/tag/release-1.8.1) is 13 the last release that works with pre-C++11 compilers. The 1.8.x will not accept 14 any requests for any new features and any bugfix requests will only be accepted 15 if proven "critical" 16 17 #### Post 1.8.x: 18 19 On-going work to improve/cleanup/pay technical debt. When this work is completed 20 there will be a 1.9.x tagged release 21 22 #### Post 1.9.x 23 24 Post 1.9.x googletest will follow 25 [Abseil Live at Head philosophy](https://abseil.io/about/philosophy) 26 27 ## Welcome to **Google Test**, Google's C++ test framework! 28 29 This repository is a merger of the formerly separate GoogleTest and GoogleMock 30 projects. These were so closely related that it makes sense to maintain and 31 release them together. 32 33 Please subscribe to the mailing list at googletestframework@googlegroups.com for 34 questions, discussions, and development. 35 36 ### Getting started: 37 38 The information for **Google Test** is available in the 39 [Google Test Primer](googletest/docs/primer.md) documentation. 40 41 **Google Mock** is an extension to Google Test for writing and using C++ mock 42 classes. See the separate [Google Mock documentation](googlemock/README.md). 43 44 More detailed documentation for googletest is in its interior 45 [googletest/README.md](googletest/README.md) file. 46 47 ## Features 48 49 * An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. 50 * Test discovery. 51 * A rich set of assertions. 52 * User-defined assertions. 53 * Death tests. 54 * Fatal and non-fatal failures. 55 * Value-parameterized tests. 56 * Type-parameterized tests. 57 * Various options for running the tests. 58 * XML test report generation. 59 60 ## Platforms 61 62 Google test has been used on a variety of platforms: 63 64 * Linux 65 * Mac OS X 66 * Windows 67 * Cygwin 68 * MinGW 69 * Windows Mobile 70 * Symbian 71 * PlatformIO 72 73 ## Who Is Using Google Test? 74 75 In addition to many internal projects at Google, Google Test is also used by the 76 following notable projects: 77 78 * The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser 79 and Chrome OS). 80 * The [LLVM](http://llvm.org/) compiler. 81 * [Protocol Buffers](https://github.com/google/protobuf), Google's data 82 interchange format. 83 * The [OpenCV](http://opencv.org/) computer vision library. 84 * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn): header only, 85 dependency-free deep learning framework in C++11. 86 87 ## Related Open Source Projects 88 89 [GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based 90 automated test-runner and Graphical User Interface with powerful features for 91 Windows and Linux platforms. 92 93 [Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that 94 runs your test binary, allows you to track its progress via a progress bar, and 95 displays a list of test failures. Clicking on one shows failure text. Google 96 Test UI is written in C#. 97 98 [GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event 99 listener for Google Test that implements the 100 [TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test 101 result output. If your test runner understands TAP, you may find it useful. 102 103 [gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that 104 runs tests from your binary in parallel to provide significant speed-up. 105 106 [GoogleTest Adapter](https://marketplace.visualstudio.com/items?itemName=DavidSchuldenfrei.gtest-adapter) 107 is a VS Code extension allowing to view Google Tests in a tree view, and 108 run/debug your tests. 109 110 ## Requirements 111 112 Google Test is designed to have fairly minimal requirements to build and use 113 with your projects, but there are some. If you notice any problems on your 114 platform, please notify 115 [googletestframework@googlegroups.com](https://groups.google.com/forum/#!forum/googletestframework). 116 Patches for fixing them are welcome! 117 118 ### Build Requirements 119 120 These are the base requirements to build and use Google Test from a source 121 package: 122 123 * [Bazel](https://bazel.build/) or [CMake](https://cmake.org/). NOTE: Bazel is 124 the build system that googletest is using internally and tests against. 125 CMake is community-supported. 126 127 * a C++11-standard-compliant compiler 128 129 ## Contributing change 130 131 Please read the [`CONTRIBUTING.md`](CONTRIBUTING.md) for details on how to 132 contribute to this project. 133 134 Happy testing!