Googletest export
Delete internal tags from docs PiperOrigin-RevId: 353769887
This commit is contained in:
parent
3351eba0aa
commit
8a7618672a
@ -1,9 +1,5 @@
|
||||
# Advanced googletest Topics
|
||||
|
||||
go/gunitadvanced
|
||||
|
||||
[TOC]
|
||||
|
||||
## Introduction
|
||||
|
||||
Now that you have read the [googletest Primer](primer.md) and learned how to
|
||||
|
@ -1,9 +1,5 @@
|
||||
# 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
|
||||
|
@ -1,11 +1,5 @@
|
||||
# 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) -->
|
||||
|
@ -1,7 +1,5 @@
|
||||
# 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"-->
|
||||
|
@ -1,9 +1,5 @@
|
||||
## 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
|
||||
|
@ -1,9 +1,5 @@
|
||||
# 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:
|
||||
|
@ -1,7 +1,5 @@
|
||||
## 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
|
||||
|
@ -1,9 +1,5 @@
|
||||
# Googletest Primer
|
||||
|
||||
go/gunitprimer
|
||||
|
||||
[TOC]
|
||||
|
||||
## Introduction: Why googletest?
|
||||
|
||||
*googletest* helps you write better C++ tests.
|
||||
|
Loading…
Reference in New Issue
Block a user