|
179 | 179 | ```
|
180 | 180 |
|
181 | 181 | ## Overview
|
182 |
| -* Header only library |
183 |
| - * BDD/[Gherkin](https://github.com/cucumber/cucumber/wiki/Gherkin) support requires linking with libs/libgherkin-cpp.{so, a} |
184 |
| -* Based on top of [Google.Test/Google.Mock](https://github.com/google/googletest) |
185 |
| - * (+) Widely used (The most popular testing framework according to https://www.jetbrains.com/research/devecosystem-2017/cpp) |
186 |
| - * (+) Stable |
187 |
| - * (+) Powerful |
188 |
| - * (+) Comes with GoogleMock |
189 |
| - * (+) Well documented |
190 |
| - * (-) No support for - [Gherkin](https://github.com/cucumber/cucumber/wiki/Gherkin) style - BDD tests |
191 |
| - * (-) Macro based |
192 |
| - * (-) Slow to compile |
193 |
| -* Modular (GTest/GTest-Lite/GMock/GMake/GSteps are independent) |
| 182 | +* Extensions (independent) |
194 | 183 | * `GUnit.GTest` - Google.Test with strings and more friendly macros
|
195 | 184 | * Test cases with string as names
|
196 | 185 | * No more SetUp/TearDown (SHOULD clauses)
|
|
206 | 195 | * Support for mocking classes with constructors
|
207 | 196 | * 100% Compatible with Google Mocks
|
208 | 197 | * `GUnit.GMake` - Makes creation of System Under Test (SUT) and Mocks easier
|
209 |
| - * No need to instantiate System Under Test and Mocks |
| 198 | + * No need to instantiate SUT (System Under Test) and mocks |
210 | 199 | * Automatic mocks injection
|
211 |
| - * `GUnit.GSteps` - [Gherkin/Cucumber](https://github.com/cucumber/cucumber/wiki/Gherkin) implementation for C++ without Ruby dependencies |
| 200 | + * `GUnit.GSteps` - [Gherkin/Cucumber](https://github.com/cucumber/cucumber/wiki/Gherkin) |
| 201 | + * Support for - gherkin style - feature tests |
| 202 | +* Based on top of [Google.Test/Google.Mock](https://github.com/google/googletest) |
| 203 | + * (+) Widely used (The most popular testing framework according to https://www.jetbrains.com/research/devecosystem-2017/cpp) |
| 204 | + * (+) Stable |
| 205 | + * (+) Powerful |
| 206 | + * (+) Comes with GoogleMock |
| 207 | + * (+) Well documented |
| 208 | + * (-) No support for - [Gherkin](https://github.com/cucumber/cucumber/wiki/Gherkin) style - BDD tests |
| 209 | + * (-) Boilerplate macros |
212 | 210 | * Requirements
|
213 | 211 | * [C++14](https://ubershmekel.github.io/cppdrafts/c++14-cd.html)
|
214 |
| - * [Google.Test](https://github.com/google/googletest) (compatible with all versions) |
215 |
| - * Tested compilers |
216 |
| - * [Clang-3.7+](https://travis-ci.org/cpp-testing/GUnit) |
217 |
| - * [GCC-5+](https://travis-ci.org/cpp-testing/GUnit) |
| 212 | + * `GTest/GTest-Lite/GMock/GMake` |
| 213 | + * [libs/googletest](https://github.com/google/googletest) - compatible with all versions |
| 214 | + * `GSteps` |
| 215 | + * [libs/json](https://github.com/nlohmann/json) |
| 216 | + * [libs/gherkin-cpp](https://github.com/c-libs/gherkin-cpp) |
| 217 | + * Building libgherkin-cpp |
| 218 | + ``` |
| 219 | + $cd libs/gherkin-cpp && make lib |
| 220 | + $ls libs/gherkin-cpp |
| 221 | + libgherkin-cpp.a |
| 222 | + libgherkin-cpp.so |
| 223 | + ``` |
| 224 | +* Tested compilers |
| 225 | + * [Linux - GCC-5+](https://travis-ci.org/cpp-testing/GUnit) |
| 226 | + * [Linux - Clang-3.7+](https://travis-ci.org/cpp-testing/GUnit) |
| 227 | + * [Mac OSx - Xcode-7.3+](https://travis-ci.org/cpp-testing/GUnit) |
218 | 228 | * Quick start
|
219 | 229 | ```sh
|
220 | 230 | $mkdir build && cd build && cmake ..
|
221 | 231 | $make && ctest
|
222 | 232 | ```
|
223 |
| -* Building libgherkin-cpp (required only for GUnit.GSteps) |
224 |
| - ``` |
225 |
| - $cd libs/gherkin-cpp && make lib |
226 |
| - $ls libs/gherkin-cpp |
227 |
| - libgherkin-cpp.a |
228 |
| - libgherkin-cpp.so |
229 |
| - ``` |
230 | 233 | * User Guide
|
231 | 234 | * [GUnit.GTest](docs/GTest.md)
|
232 | 235 | * [GUnit.GTest-Lite](docs/GTest-Lite.md)
|
|
237 | 240 | * [C++ Now 2017: Towards Painless Testing](https://www.youtube.com/watch?v=NVrZjT5lW5o)
|
238 | 241 |
|
239 | 242 | ### Acknowledgements
|
240 |
| -* Thanks to [Google Open Source](https://opensource.google.com/) for [Google.Test/Google.Mock](https://github.com/google/googletest) |
241 |
| -* Thanks to Eran Pe'er for [FakeIt](https://github.com/eranpeer/FakeIt) |
242 |
| -* Thanks to Peter Bindels for [HippoMocks](https://github.com/dascandy/hippomocks) |
243 |
| -* Thanks to Niels Lohmann for [json](https://github.com/nlohmann/json) |
244 |
| -* Thanks to Aslak Hellesøy for [gherkin-c](https://github.com/cucumber/gherkin-c) |
245 |
| -* Thanks to [Cucumber Open Source](https://cucumber.io/) for [cucumber-cpp](https://github.com/cucumber/cucumber-cpp) |
| 243 | +* Thanks to [Google Open Source](https://opensource.google.com/) for [Google.Test/Google.Mock](https://github.com/google/googletest) libraries |
| 244 | +* Thanks to Eran Pe'er for [FakeIt](https://github.com/eranpeer/FakeIt) library |
| 245 | +* Thanks to Peter Bindels for [HippoMocks](https://github.com/dascandy/hippomocks) library |
| 246 | +* Thanks to Niels Lohmann for [json](https://github.com/nlohmann/json) library |
| 247 | +* Thanks to Aslak Hellesøy for [gherkin-c](https://github.com/cucumber/gherkin-c) library |
| 248 | +* Thanks to [Cucumber Open Source](https://cucumber.io/) for [cucumber-cpp](https://github.com/cucumber/cucumber-cpp) library |
0 commit comments