Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kestrel Collaboration
Kestrel Firmware
googletest
Commits
8a761867
Commit
8a761867
authored
4 years ago
by
Abseil Team
Committed by
CJ Johnson
4 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Googletest export
Delete internal tags from docs PiperOrigin-RevId: 353769887
parent
3351eba0
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
3 additions
and
63 deletions
+3
-63
docs/advanced.md
docs/advanced.md
+0
-4
docs/faq.md
docs/faq.md
+2
-6
docs/gmock_cheat_sheet.md
docs/gmock_cheat_sheet.md
+0
-16
docs/gmock_cook_book.md
docs/gmock_cook_book.md
+1
-17
docs/gmock_faq.md
docs/gmock_faq.md
+0
-8
docs/gmock_for_dummies.md
docs/gmock_for_dummies.md
+0
-6
docs/pkgconfig.md
docs/pkgconfig.md
+0
-2
docs/primer.md
docs/primer.md
+0
-4
No files found.
docs/advanced.md
View file @
8a761867
# Advanced googletest Topics
go/gunitadvanced
[TOC]
## Introduction
Now that you have read the
[
googletest Primer
](
primer.md
)
and learned how to
...
...
This diff is collapsed.
Click to expand it.
docs/faq.md
View file @
8a761867
# Googletest FAQ
go/gunitfaq
[TOC]
## Why should test suite names and test names not contain underscore?
Note: Googletest reserves underscore (
`_`
) for special purpose keywords, such as
...
...
@@ -350,8 +346,8 @@ You may still want to use `SetUp()/TearDown()` in the following cases:
*
In the body of a constructor (or destructor), it's not possible to use the
`ASSERT_xx`
macros. Therefore, if the set-up operation could cause a fatal
test failure that should prevent the test from running, it's necessary to
use
`abort`
(in google3, use
`CHECK`
)
and abort the whole test
executable,
or to use
`SetUp()`
instead of a constructor.
use
`abort`
and abort the whole test
executable,
or to use
`SetUp()`
instead of a constructor.
*
If the tear-down operation could throw an exception, you must use
`TearDown()`
as opposed to the destructor, as throwing in a destructor leads
to undefined behavior and usually will kill your program right away. Note
...
...
This diff is collapsed.
Click to expand it.
docs/gmock_cheat_sheet.md
View file @
8a761867
# gMock Cheat Sheet
go/gmockcheat
[TOC]
<!--#include file="includes/g3_BUILD_rule.md"-->
## Defining a Mock Class
### Mocking a Normal Class {#MockClass}
...
...
@@ -229,8 +223,6 @@ and the default action will be taken each time.
## Matchers {#MatcherList}
go/matchers
A
**matcher**
matches a
*single*
argument. You can use it inside
`ON_CALL()`
or
`EXPECT_CALL()`
, or use it to validate a value directly using two macros:
...
...
@@ -427,10 +419,6 @@ messages, you can use:
|
`WhenDynamicCastTo<T>(m)`
| when
`argument`
is passed through
`dynamic_cast<T>()`
, it matches matcher
`m`
. |
<!-- mdformat on -->
<!--#include file="includes/g3_proto_matchers.md"-->
<!--#include file="includes/g3_absl_status_matcher.md"-->
### Multi-argument Matchers {#MultiArgMatchers}
Technically, all matchers match a
*single*
value. A "multi-argument" matcher is
...
...
@@ -470,8 +458,6 @@ You can make a matcher from one or more other matchers:
|
`Not(m)`
|
`argument`
doesn't match matcher
`m`
. |
<!-- mdformat on -->
<!--#include file="includes/g3_useful_matchers_outsidegmock.md"-->
### Adapters for Matchers
<!-- mdformat off(no multiline tables) -->
...
...
@@ -615,8 +601,6 @@ value, and `foo` by reference.
**Note:** due to technical reasons, `DoDefault()` cannot be used inside a
composite action - trying to do so will result in a run-time error.
<!--#include file="includes/g3_stubby_actions.md"-->
### Composite Actions
<!-- mdformat off(no multiline tables) -->
...
...
This diff is collapsed.
Click to expand it.
docs/gmock_cook_book.md
View file @
8a761867
# gMock Cookbook
go/gmockcook
You can find recipes for using gMock here. If you haven't yet, please read
[
the dummy guide
](
gmock_for_dummies.md
)
first to make sure you understand the
basics.
...
...
@@ -11,8 +9,6 @@ recommended to write `using ::testing::Foo;` once in your file before using the
name
`Foo`
defined by gMock. We omit such
`using`
statements in this section for
brevity, but you should do it in your own code.
[TOC]
## Creating Mock Classes
Mock classes are defined as normal classes, using the
`MOCK_METHOD`
macro to
...
...
@@ -183,8 +179,7 @@ class MockStack : public StackInterface<Elem> {
### Mocking Non-virtual Methods {#MockingNonVirtualMethods}
gMock can mock non-virtual functions to be used in Hi-perf dependency
injection.
[
See this
](
http://go/tott/33
)
gMock can mock non-virtual functions to be used in Hi-perf dependency injection.
In this case, instead of sharing a common base class with the real class, your
mock class will be
*unrelated*
to the real class, but contain methods with the
...
...
@@ -830,7 +825,6 @@ A frequently used matcher is `_`, which matches anything:
```
cpp
EXPECT_CALL
(
foo
,
DoThat
(
_
,
NotNull
()));
```
<!--#include file="includes/g3_matching_proto_buffers_cookbook_recipe.md"-->
### Combining Matchers {#CombiningMatchers}
...
...
@@ -1161,8 +1155,6 @@ Note that the predicate function / functor doesn't have to return `bool`. It
works as long as the return value can be used as the condition in in statement
`if (condition) ...`
.
<!--#include file="includes/g3_callbacks_as_matchers.md"-->
### Matching Arguments that Are Not Copyable
When you do an
`EXPECT_CALL(mock_obj, Foo(bar))`
, gMock saves away a copy of
...
...
@@ -1478,8 +1470,6 @@ mock object and gMock.
### Knowing When to Expect {#UseOnCall}
(go/use-on-call)
**`ON_CALL`**
is likely the
*single most under-utilized construct*
in gMock.
There are basically two constructs for defining the behavior of a mock object:
...
...
@@ -2171,8 +2161,6 @@ own precedence order distinct from the `ON_CALL` precedence order.
If the built-in actions don't suit you, you can use an existing callable
(function,
`std::function`
, method, functor, lambda) as an action.
<!--#include file="includes/g3_callback_snippet.md"-->
```
cpp
using
::
testing
::
_
;
using
::
testing
::
Invoke
;
...
...
@@ -3266,8 +3254,6 @@ If you are interested in the mock call trace but not the stack traces, you can
combine
`--gmock_verbose=info`
with
`--gtest_stack_trace_depth=0`
on the test
command line.
<!--#include file="includes/g3_testing_code_stubby_server.md"-->
### Running Tests in Emacs
If you build and run your tests in Emacs using the
`M-x google-compile`
command
...
...
@@ -4312,5 +4298,3 @@ expectations.
Although `
std::function
` supports unlimited number of arguments, `
MockFunction
`
implementation is limited to ten. If you ever hit that limit... well, your
callback has bigger problems than being mockable. :-)
<!--#include file="includes/g3_content.md"-->
This diff is collapsed.
Click to expand it.
docs/gmock_faq.md
View file @
8a761867
## Legacy gMock FAQ {#GMockFaq}
go/gmockfaq
[TOC]
### When I call a method on my mock object, the method for the real object is invoked instead. What's the problem?
In order for a method to be mocked, it must be
*virtual*
, unless you use the
...
...
@@ -83,8 +79,6 @@ void Bar(int* p); // Neither p nor *p is const.
void
Bar
(
const
int
*
p
);
// p is not const, but *p is.
```
<!--#include file="includes/g3_mock_multithreaded.md"-->
### I can't figure out why gMock thinks my expectations are not satisfied. What should I do?
You might want to run your test with
`--gmock_verbose=info`
. This flag lets
...
...
@@ -128,8 +122,6 @@ using ::testing::_;
.
Times
(
0
);
```
<!--#include file="includes/g3_mock_a_stubby_server.md"-->
### I have a failed test where gMock tells me TWICE that a particular expectation is not satisfied. Isn't this redundant?
When gMock detects a failure, it prints relevant information (the mock function
...
...
This diff is collapsed.
Click to expand it.
docs/gmock_for_dummies.md
View file @
8a761867
# gMock for Dummies {#GMockForDummies}
go/gmockfordummies
[TOC]
## What Is gMock?
When you write a prototype or test, often it's not feasible or wise to rely on
...
...
@@ -208,8 +204,6 @@ choosing the adaptor interface can make your code easier to write and more
readable (a net win in the long run), as you can choose
`FooAdaptor`
to fit your
specific domain much better than
`Foo`
does.
<!--#include file="includes/g3_wrap_external_api_snippet.md"-->
## Using Mocks in Tests
Once you have a mock class, using it is easy. The typical work flow is:
...
...
This diff is collapsed.
Click to expand it.
docs/pkgconfig.md
View file @
8a761867
## Using GoogleTest from various build systems
[TOC]
GoogleTest comes with pkg-config files that can be used to determine all
necessary flags for compiling and linking to GoogleTest (and GoogleMock).
Pkg-config is a standardised plain-text format containing
...
...
This diff is collapsed.
Click to expand it.
docs/primer.md
View file @
8a761867
# Googletest Primer
go/gunitprimer
[TOC]
## Introduction: Why googletest?
*googletest*
helps you write better C++ tests.
...
...
This diff is collapsed.
Click to expand it.
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