Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
23bd6d8a
Commit
23bd6d8a
authored
Aug 30, 2015
by
Billy Donahue
Browse files
readme merging
parent
b55ac7f3
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
122 additions
and
154 deletions
+122
-154
README.md
README.md
+65
-50
googlemock/README.md
googlemock/README.md
+54
-7
googletest/README.md
googletest/README.md
+3
-97
No files found.
README.md
View file @
23bd6d8a
#
# Google Test #
#
# Google Test #
Welcome to
**Google Test**
, Google's C++ test framework!
Welcome to
**Google Test**
, Google's C++ test framework!
...
@@ -7,18 +7,29 @@ This repository is a merger of the formerly separate GoogleTest and
...
@@ -7,18 +7,29 @@ This repository is a merger of the formerly separate GoogleTest and
GoogleMock projects. These were so closely related that it makes sense to
GoogleMock projects. These were so closely related that it makes sense to
maintain and release them together.
maintain and release them together.
Google Test conforms to the
[
XUnit
](
https://en.wikipedia.org/wiki/XUnit
)
Please see the project page above for more information as well as the
test framework pattern. It features:
mailing list for questions, discussions, and development. There is
also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please
join us!
*
test discovery
**Google Mock**
is an extension to Google Test for writing and using C++ mock
*
a rich set of assertions
classes. See the separate
[
Google Mock documentation
](
googlemock/README.md
)
.
*
user-defined assertions
*
death tests
More detailed instructions for googletest are in its interior
*
fatal and non-fatal failures
[
README.md
](
googletest/README.md
)
file.
*
value-parameterized tests
*
type-parameterized tests
## Features ##
*
various options for running the tests
*
XML test report generation
*
An
[
XUnit
](
https://en.wikipedia.org/wiki/XUnit
)
test framework.
*
Test discovery.
*
A rich set of assertions.
*
User-defined assertions.
*
Death tests.
*
Fatal and non-fatal failures.
*
Value-parameterized tests.
*
Type-parameterized tests.
*
Various options for running the tests.
*
XML test report generation.
## Platforms ##
## Platforms ##
...
@@ -56,60 +67,63 @@ listener for Google Test that implements the
...
@@ -56,60 +67,63 @@ listener for Google Test that implements the
[
TAP protocol
](
http://en.wikipedia.org/wiki/Test_Anything_Protocol
)
for test
[
TAP protocol
](
http://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.
##
About Google Mock
##
##
Requirements
##
**Google Mock**
is an extension to Google Test for writing and using C++ mock
Google Test is designed to have fairly minimal requirements to build
classes. It is inspired by
and use with your projects, but there are some. Currently, we support
[
jMock
](
http://www.jmock.org/
)
,
Linux, Windows, Mac OS X, and Cygwin. We will also make our best
[
EasyMock
](
http://www.easymock.org/
)
, and
effort to support other platforms (e.g. Solaris, AIX, and z/OS).
[
Hamcrest
](
http://code.google.com/p/hamcrest/
)
,
However, since core members of the Google Test project have no access
and designed with C++'s specifics in mind.
to these platforms, Google Test may have outstanding issues there. If
you notice any problems on your platform, please notify
<googletestframework@googlegroups.com>
. Patches for fixing them are
even more welcome!
### Linux Requirements ###
Google mock:
These are the base requirements to build and use Google Test from a source
package (as described below):
*
lets you create mock classes trivially using simple macros.
*
GNU-compatible Make or gmake
*
supports a rich set of matchers and actions.
*
POSIX-standard shell
*
handles unordered, partially ordered, or completely ordered expectations.
*
POSIX(-2) Regular Expressions (regex.h)
*
is extensible by users.
*
A C++98-standard-compliant compiler
We hope you find it useful!
### Windows Requirements ###
### Using Google Mock Without Google Test ###
*
Microsoft Visual C++ v7.1 or newer
Google Mock is not a testing framework itself. Instead, it needs a
### Cygwin Requirements ###
testing framework for writing tests. Google Mock works seamlessly
with
[
Google Test
](
http://code.google.com/p/googletest/
)
, butj
you can also use it with
[
any C++ testing framework
](
googlemock/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework
)
.
## Getting Started ##
*
Cygwin v1.5.25-14 or newer
If you are new to the project, we suggest that you read the user
### Mac OS X Requirements ###
documentation in the following order:
*
Learn the
[
basics
](
googletest/docs/Primer.md
)
of
*
Mac OS X v10.4 Tiger or newer
Google Test, if you choose to use Google Mock with it (recommended).
*
XCode Developer Tools
*
Read
[
Google Mock for Dummies
](
googlemock/docs/ForDummies.md
)
.
*
Read the instructions on how to
[
build Google Mock
](
googlemock/README.md
)
.
You can also watch Zhanyong's
[
talk
](
http://www.youtube.com/watch?v=sYpCyLI47rM
)
on Google Mock's usage and implementation.
Also, you'll need
[
CMake
](
http://www.cmake.org/
)
v2.6.4 or higher if
you want to build the samples using the provided CMake script, regardless
of the platform.
Once you understand the basics, check out the rest of the docs:
### Requirements for Contributors ###
*
[
CheatSheet
](
googlemock/docs/CheatSheet.md
)
- all the commonly used stuff
We welcome patches. If you plan to contribute a patch, you need to
at a glance.
build Google Test and its own tests from a git checkout (described
*
[
CookBook
](
googlemock/docs/CookBook.md
)
- recipes for getting things done,
below), which has further requirements:
including advanced techniques.
If you need help, please check the
*
[
Python
](
http://python.org/
)
v2.3 or newer (for running some of
[
KnownIssues
](
googlemock/docs/KnownIssues.md
)
and
the tests and re-generating certain source files from templates)
[
FrequentlyAskedQuestions
](
googlemock/docs/frequentlyaskedquestions.md
)
before
*
[
CMake
](
http://www.cmake.org/
)
v2.6.4 or newer
posting a question on the
[
discussion group
](
http://groups.google.com/group/googlemock
)
.
##
#
Regenerating Source Files ##
#
## Regenerating Source Files ##
Some of Google Test's source files are generated from templates (not
Some of Google Test's source files are generated from templates (not
in the C++ sense) using a script.
in the C++ sense) using a script.
For example, the
file include/gtest/internal/gtest-type-util.h.pump is used to generate
gtest-type-util.h in the same directory.
You don't need to worry about regenerating the source files
You don't need to worry about regenerating the source files
unless you need to modify them. You would then modify the
unless you need to modify them. You would then modify the
corresponding
`.pump`
files and run the '
[
pump.py
](
googletest/scripts/pump.py
)
'
corresponding
`.pump`
files and run the '
[
pump.py
](
googletest/scripts/pump.py
)
'
...
@@ -117,7 +131,8 @@ generator script. See the [Pump Manual](googletest/docs/PumpManual.md).
...
@@ -117,7 +131,8 @@ generator script. See the [Pump Manual](googletest/docs/PumpManual.md).
### Contributing Code ###
### Contributing Code ###
We welcome patches. Please read the
[
Developer's Guide
](
docs/DevGuide.md
)
We welcome patches. Please read the
[
Developer's Guide
](
googletest/docs/DevGuide.md
)
for how you can contribute. In particular, make sure you have signed
for how you can contribute. In particular, make sure you have signed
the Contributor License Agreement, or we won't be able to accept the
the Contributor License Agreement, or we won't be able to accept the
patch.
patch.
...
...
googlemock/README.md
View file @
23bd6d8a
## Google
C++ Mocking Framewor
k ##
## Google
Moc
k ##
<http://github.com/google/googlemock/>
The Google C++ mocking framework.
### Overview ###
### Overview ###
Google's framework for writing and using C++ mock classes on a variety
Google's framework for writing and using C++ mock classes.
of platforms (Linux, Mac OS X, Windows, Windows CE, Symbian, etc).
It can help you derive better designs of your system and write better tests.
Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s
specifics in mind, it can help you derive better designs of your
It is inspired by:
system and write better tests.
*
[
jMock
](
http://www.jmock.org/
)
,
*
[
EasyMock
](
http://www.easymock.org/
)
, and
*
[
Hamcrest
](
http://code.google.com/p/hamcrest/
)
,
and designed with C++'s specifics in mind.
Google mock:
*
lets you create mock classes trivially using simple macros.
*
supports a rich set of matchers and actions.
*
handles unordered, partially ordered, or completely ordered expectations.
*
is extensible by users.
We hope you find it useful!
### Features ###
### Features ###
...
@@ -34,6 +48,39 @@ Please note that code under [scripts/generator](scripts/generator/) is
...
@@ -34,6 +48,39 @@ Please note that code under [scripts/generator](scripts/generator/) is
from
[
cppclean
](
http://code.google.com/p/cppclean/
)
and released under
from
[
cppclean
](
http://code.google.com/p/cppclean/
)
and released under
the Apache License, which is different from Google Mock's license.
the Apache License, which is different from Google Mock's license.
## Getting Started ##
If you are new to the project, we suggest that you read the user
documentation in the following order:
*
Learn the
[
basics
](
../googletest/docs/Primer.md
)
of
Google Test, if you choose to use Google Mock with it (recommended).
*
Read
[
Google Mock for Dummies
](
docs/ForDummies.md
)
.
*
Read the instructions below on how to build Google Mock.
You can also watch Zhanyong's
[
talk
](
http://www.youtube.com/watch?v=sYpCyLI47rM
)
on Google Mock's usage and implementation.
Once you understand the basics, check out the rest of the docs:
*
[
CheatSheet
](
googlemock/docs/CheatSheet.md
)
- all the commonly used stuff
at a glance.
*
[
CookBook
](
googlemock/docs/CookBook.md
)
- recipes for getting things done,
including advanced techniques.
If you need help, please check the
[
KnownIssues
](
googlemock/docs/KnownIssues.md
)
and
[
FrequentlyAskedQuestions
](
googlemock/docs/frequentlyaskedquestions.md
)
before
posting a question on the
[
discussion group
](
http://groups.google.com/group/googlemock
)
.
### Using Google Mock Without Google Test ###
Google Mock is not a testing framework itself. Instead, it needs a
testing framework for writing tests. Google Mock works seamlessly
with
[
Google Test
](
http://code.google.com/p/googletest/
)
, butj
you can also use it with
[
any C++ testing framework
](
googlemock/ForDummies.md#Using_Google_Mock_with_Any_Testing_Framework
)
.
### Requirements for End Users ###
### Requirements for End Users ###
Google Mock is implemented on top of
[
Google Test
](
Google Mock is implemented on top of
[
Google Test
](
...
...
googletest/README.md
View file @
23bd6d8a
## Google C++ Testing Framework ##
https://github.com/google/googletest
### Generic Build Instructions ###
### Overview ###
Google's framework for writing C++ tests on a variety of platforms
(Linux, Mac OS X, Windows, Windows CE, Symbian, etc). Based on the
xUnit architecture. Supports automatic test discovery, a rich set of
assertions, user-defined assertions, death tests, fatal and non-fatal
failures, various options for running the tests, and XML test report
generation.
Please see the project page above for more information as well as the
mailing list for questions, discussions, and development. There is
also an IRC channel on OFTC (irc.oftc.net) #gtest available. Please
join us!
### Requirements for End Users ###
Google Test is designed to have fairly minimal requirements to build
and use with your projects, but there are some. Currently, we support
Linux, Windows, Mac OS X, and Cygwin. We will also make our best
effort to support other platforms (e.g. Solaris, AIX, and z/OS).
However, since core members of the Google Test project have no access
to these platforms, Google Test may have outstanding issues there. If
you notice any problems on your platform, please notify
<googletestframework@googlegroups.com>
. Patches for fixing them are
even more welcome!
#### Linux Requirements ####
These are the base requirements to build and use Google Test from a source
package (as described below):
*
GNU-compatible Make or gmake
*
POSIX-standard shell
*
POSIX(-2) Regular Expressions (regex.h)
*
A C++98-standard-compliant compiler
#### Windows Requirements ####
*
Microsoft Visual C++ 7.1 or newer
#### Cygwin Requirements ####
*
Cygwin 1.5.25-14 or newer
#### Mac OS X Requirements ####
*
Mac OS X 10.4 Tiger or newer
*
Developer Tools Installed
Also, you'll need
[
CMake
](
http://www.cmake.org/
CMake) 2.6.4 or higher if
you want to build the samples using the provided CMake script, regardless
of the platform.
### Requirements for Contributors ###
We welcome patches. If you plan to contribute a patch, you need to
build Google Test and its own tests from a git checkout (described
below), which has further requirements:
*
[
Python
](
http://python.org/
)
version 2.3 or newer (for running some of the tests and
re-generating certain source files from templates)
*
[
CMake
](
http://www.cmake.org/
)
2.6.4 or newer
## Set
ting up the Build
##
##
## Set
up ##
##
To build Google Test and your tests that use it, you need to tell your
To build Google Test and your tests that use it, you need to tell your
build system where to find its headers and source files. The exact
build system where to find its headers and source files. The exact
way to do it depends on which build system you use, and is usually
way to do it depends on which build system you use, and is usually
straightforward.
straightforward.
###
Generic Build Instructions
###
###
# Build #
###
Suppose you put Google Test in directory
`${GTEST_DIR}`
. To build it,
Suppose you put Google Test in directory
`${GTEST_DIR}`
. To build it,
create a library build target (or a project as called by Visual Studio
create a library build target (or a project as called by Visual Studio
...
@@ -308,36 +244,6 @@ instead of
...
@@ -308,36 +244,6 @@ instead of
in order to define a test.
in order to define a test.
### Upgrating from an Earlier Version ###
We strive to keep Google Test releases backward compatible.
Sometimes, though, we have to make some breaking changes for the
users' long-term benefits. This section describes what you'll need to
do if you are upgrading from an earlier version of Google Test.
### Upgrading from 1.3.0 or Earlier ###
You may need to explicitly enable or disable Google Test's own TR1
tuple library. See the instructions in section "Choosing a TR1 Tuple
Library".
### Upgrading from 1.4.0 or Earlier ###
The Autotools build script (configure + make) is no longer officially
supportted. You are encouraged to migrate to your own build system or
use CMake. If you still need to use Autotools, you can find
instructions in the README file from Google Test 1.4.0.
On platforms where the pthread library is available, Google Test uses
it in order to be thread-safe. See the "Multi-threaded Tests" section
for what this means to your build script.
If you use Microsoft Visual C++ 7.1 with exceptions disabled, Google
Test will no longer compile. This should affect very few people, as a
large portion of STL (including
<string>
) doesn't compile in this mode
anyway. We decided to stop supporting it in order to greatly simplify
Google Test's implementation.
## Developing Google Test ##
## Developing Google Test ##
This section discusses how to make your own changes to Google Test.
This section discusses how to make your own changes to Google Test.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment