]>
Commit | Line | Data |
---|---|---|
31f18b77 FG |
1 | |
2 | # Google Test # | |
3 | ||
4 | [![Build Status](https://travis-ci.org/google/googletest.svg?branch=master)](https://travis-ci.org/google/googletest) | |
1e59de90 | 5 | [![Build status](https://ci.appveyor.com/api/projects/status/4o38plt0xbo1ubc8/branch/master?svg=true)](https://ci.appveyor.com/project/GoogleTestAppVeyor/googletest/branch/master) |
31f18b77 FG |
6 | |
7 | Welcome to **Google Test**, Google's C++ test framework! | |
8 | ||
9 | This repository is a merger of the formerly separate GoogleTest and | |
10 | GoogleMock projects. These were so closely related that it makes sense to | |
11 | maintain and release them together. | |
12 | ||
13 | Please see the project page above for more information as well as the | |
14 | mailing list for questions, discussions, and development. There is | |
1e59de90 | 15 | also an IRC channel on [OFTC](https://webchat.oftc.net/) (irc.oftc.net) #gtest available. Please |
31f18b77 FG |
16 | join us! |
17 | ||
1e59de90 TL |
18 | Getting started information for **Google Test** is available in the |
19 | [Google Test Primer](googletest/docs/primer.md) documentation. | |
31f18b77 FG |
20 | |
21 | **Google Mock** is an extension to Google Test for writing and using C++ mock | |
22 | classes. See the separate [Google Mock documentation](googlemock/README.md). | |
23 | ||
24 | More detailed documentation for googletest (including build instructions) are | |
25 | in its interior [googletest/README.md](googletest/README.md) file. | |
26 | ||
27 | ## Features ## | |
28 | ||
1e59de90 | 29 | * An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. |
31f18b77 FG |
30 | * Test discovery. |
31 | * A rich set of assertions. | |
32 | * User-defined assertions. | |
33 | * Death tests. | |
34 | * Fatal and non-fatal failures. | |
35 | * Value-parameterized tests. | |
36 | * Type-parameterized tests. | |
37 | * Various options for running the tests. | |
38 | * XML test report generation. | |
39 | ||
40 | ## Platforms ## | |
41 | ||
42 | Google test has been used on a variety of platforms: | |
43 | ||
44 | * Linux | |
45 | * Mac OS X | |
46 | * Windows | |
47 | * Cygwin | |
48 | * MinGW | |
49 | * Windows Mobile | |
50 | * Symbian | |
51 | ||
52 | ## Who Is Using Google Test? ## | |
53 | ||
54 | In addition to many internal projects at Google, Google Test is also used by | |
55 | the following notable projects: | |
56 | ||
57 | * The [Chromium projects](http://www.chromium.org/) (behind the Chrome | |
58 | browser and Chrome OS). | |
59 | * The [LLVM](http://llvm.org/) compiler. | |
60 | * [Protocol Buffers](https://github.com/google/protobuf), Google's data | |
61 | interchange format. | |
62 | * The [OpenCV](http://opencv.org/) computer vision library. | |
1e59de90 | 63 | * [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn): header only, dependency-free deep learning framework in C++11. |
31f18b77 FG |
64 | |
65 | ## Related Open Source Projects ## | |
66 | ||
1e59de90 TL |
67 | [GTest Runner](https://github.com/nholthaus/gtest-runner) is a Qt5 based automated test-runner and Graphical User Interface with powerful features for Windows and Linux platforms. |
68 | ||
31f18b77 FG |
69 | [Google Test UI](https://github.com/ospector/gtest-gbar) is test runner that runs |
70 | your test binary, allows you to track its progress via a progress bar, and | |
71 | displays a list of test failures. Clicking on one shows failure text. Google | |
72 | Test UI is written in C#. | |
73 | ||
74 | [GTest TAP Listener](https://github.com/kinow/gtest-tap-listener) is an event | |
75 | listener for Google Test that implements the | |
76 | [TAP protocol](https://en.wikipedia.org/wiki/Test_Anything_Protocol) for test | |
77 | result output. If your test runner understands TAP, you may find it useful. | |
78 | ||
1e59de90 TL |
79 | [gtest-parallel](https://github.com/google/gtest-parallel) is a test runner that |
80 | runs tests from your binary in parallel to provide significant speed-up. | |
81 | ||
31f18b77 FG |
82 | ## Requirements ## |
83 | ||
84 | Google Test is designed to have fairly minimal requirements to build | |
85 | and use with your projects, but there are some. Currently, we support | |
86 | Linux, Windows, Mac OS X, and Cygwin. We will also make our best | |
87 | effort to support other platforms (e.g. Solaris, AIX, and z/OS). | |
88 | However, since core members of the Google Test project have no access | |
89 | to these platforms, Google Test may have outstanding issues there. If | |
90 | you notice any problems on your platform, please notify | |
1e59de90 | 91 | [googletestframework@googlegroups.com](https://groups.google.com/forum/#!forum/googletestframework). Patches for fixing them are |
31f18b77 FG |
92 | even more welcome! |
93 | ||
94 | ### Linux Requirements ### | |
95 | ||
96 | These are the base requirements to build and use Google Test from a source | |
97 | package (as described below): | |
98 | ||
99 | * GNU-compatible Make or gmake | |
100 | * POSIX-standard shell | |
101 | * POSIX(-2) Regular Expressions (regex.h) | |
102 | * A C++98-standard-compliant compiler | |
103 | ||
104 | ### Windows Requirements ### | |
105 | ||
1e59de90 | 106 | * Microsoft Visual C++ 2015 or newer |
31f18b77 FG |
107 | |
108 | ### Cygwin Requirements ### | |
109 | ||
110 | * Cygwin v1.5.25-14 or newer | |
111 | ||
112 | ### Mac OS X Requirements ### | |
113 | ||
114 | * Mac OS X v10.4 Tiger or newer | |
115 | * Xcode Developer Tools | |
116 | ||
1e59de90 | 117 | ## Contributing change |
31f18b77 | 118 | |
1e59de90 TL |
119 | Please read the [`CONTRIBUTING.md`](CONTRIBUTING.md) for details on |
120 | how to contribute to this project. | |
31f18b77 FG |
121 | |
122 | Happy testing! |