Googletest export

Delete internal tags from docs

PiperOrigin-RevId: 353769887
This commit is contained in:
Abseil Team 2021-01-25 20:51:26 -05:00 committed by CJ Johnson
parent 3351eba0aa
commit 8a7618672a
8 changed files with 3 additions and 63 deletions

View File

@ -1,9 +1,5 @@
# Advanced googletest Topics # Advanced googletest Topics
go/gunitadvanced
[TOC]
## Introduction ## Introduction
Now that you have read the [googletest Primer](primer.md) and learned how to Now that you have read the [googletest Primer](primer.md) and learned how to

View File

@ -1,9 +1,5 @@
# Googletest FAQ # Googletest FAQ
go/gunitfaq
[TOC]
## Why should test suite names and test names not contain underscore? ## Why should test suite names and test names not contain underscore?
Note: Googletest reserves underscore (`_`) for special purpose keywords, such as 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 * 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 `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 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, use `abort` and abort the whole test
or to use `SetUp()` instead of a constructor. executable, or to use `SetUp()` instead of a constructor.
* If the tear-down operation could throw an exception, you must use * If the tear-down operation could throw an exception, you must use
`TearDown()` as opposed to the destructor, as throwing in a destructor leads `TearDown()` as opposed to the destructor, as throwing in a destructor leads
to undefined behavior and usually will kill your program right away. Note to undefined behavior and usually will kill your program right away. Note

View File

@ -1,11 +1,5 @@
# gMock Cheat Sheet # gMock Cheat Sheet
go/gmockcheat
[TOC]
<!--#include file="includes/g3_BUILD_rule.md"-->
## Defining a Mock Class ## Defining a Mock Class
### Mocking a Normal Class {#MockClass} ### Mocking a Normal Class {#MockClass}
@ -229,8 +223,6 @@ and the default action will be taken each time.
## Matchers {#MatcherList} ## Matchers {#MatcherList}
go/matchers
A **matcher** matches a *single* argument. You can use it inside `ON_CALL()` or 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: `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`. | | `WhenDynamicCastTo<T>(m)` | when `argument` is passed through `dynamic_cast<T>()`, it matches matcher `m`. |
<!-- mdformat on --> <!-- mdformat on -->
<!--#include file="includes/g3_proto_matchers.md"-->
<!--#include file="includes/g3_absl_status_matcher.md"-->
### Multi-argument Matchers {#MultiArgMatchers} ### Multi-argument Matchers {#MultiArgMatchers}
Technically, all matchers match a *single* value. A "multi-argument" matcher is 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`. | | `Not(m)` | `argument` doesn't match matcher `m`. |
<!-- mdformat on --> <!-- mdformat on -->
<!--#include file="includes/g3_useful_matchers_outsidegmock.md"-->
### Adapters for Matchers ### Adapters for Matchers
<!-- mdformat off(no multiline tables) --> <!-- 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 **Note:** due to technical reasons, `DoDefault()` cannot be used inside a
composite action - trying to do so will result in a run-time error. composite action - trying to do so will result in a run-time error.
<!--#include file="includes/g3_stubby_actions.md"-->
### Composite Actions ### Composite Actions
<!-- mdformat off(no multiline tables) --> <!-- mdformat off(no multiline tables) -->

View File

@ -1,7 +1,5 @@
# gMock Cookbook # gMock Cookbook
go/gmockcook
You can find recipes for using gMock here. If you haven't yet, please read 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 [the dummy guide](gmock_for_dummies.md) first to make sure you understand the
basics. 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 name `Foo` defined by gMock. We omit such `using` statements in this section for
brevity, but you should do it in your own code. brevity, but you should do it in your own code.
[TOC]
## Creating Mock Classes ## Creating Mock Classes
Mock classes are defined as normal classes, using the `MOCK_METHOD` macro to 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} ### Mocking Non-virtual Methods {#MockingNonVirtualMethods}
gMock can mock non-virtual functions to be used in Hi-perf dependency gMock can mock non-virtual functions to be used in Hi-perf dependency injection.
injection.[See this](http://go/tott/33)
In this case, instead of sharing a common base class with the real class, your 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 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 ```cpp
EXPECT_CALL(foo, DoThat(_, NotNull())); EXPECT_CALL(foo, DoThat(_, NotNull()));
``` ```
<!--#include file="includes/g3_matching_proto_buffers_cookbook_recipe.md"-->
### Combining Matchers {#CombiningMatchers} ### 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 works as long as the return value can be used as the condition in in statement
`if (condition) ...`. `if (condition) ...`.
<!--#include file="includes/g3_callbacks_as_matchers.md"-->
### Matching Arguments that Are Not Copyable ### Matching Arguments that Are Not Copyable
When you do an `EXPECT_CALL(mock_obj, Foo(bar))`, gMock saves away a copy of 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} ### Knowing When to Expect {#UseOnCall}
(go/use-on-call)
**`ON_CALL`** is likely the *single most under-utilized construct* in gMock. **`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: 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 If the built-in actions don't suit you, you can use an existing callable
(function, `std::function`, method, functor, lambda) as an action. (function, `std::function`, method, functor, lambda) as an action.
<!--#include file="includes/g3_callback_snippet.md"-->
```cpp ```cpp
using ::testing::_; using ::testing::Invoke; 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 combine `--gmock_verbose=info` with `--gtest_stack_trace_depth=0` on the test
command line. command line.
<!--#include file="includes/g3_testing_code_stubby_server.md"-->
### Running Tests in Emacs ### Running Tests in Emacs
If you build and run your tests in Emacs using the `M-x google-compile` command 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` Although `std::function` supports unlimited number of arguments, `MockFunction`
implementation is limited to ten. If you ever hit that limit... well, your implementation is limited to ten. If you ever hit that limit... well, your
callback has bigger problems than being mockable. :-) callback has bigger problems than being mockable. :-)
<!--#include file="includes/g3_content.md"-->

View File

@ -1,9 +1,5 @@
## Legacy gMock FAQ {#GMockFaq} ## 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? ### 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 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. 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? ### 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 You might want to run your test with `--gmock_verbose=info`. This flag lets
@ -128,8 +122,6 @@ using ::testing::_;
.Times(0); .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? ### 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 When gMock detects a failure, it prints relevant information (the mock function

View File

@ -1,9 +1,5 @@
# gMock for Dummies {#GMockForDummies} # gMock for Dummies {#GMockForDummies}
go/gmockfordummies
[TOC]
## What Is gMock? ## What Is gMock?
When you write a prototype or test, often it's not feasible or wise to rely on 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 readable (a net win in the long run), as you can choose `FooAdaptor` to fit your
specific domain much better than `Foo` does. specific domain much better than `Foo` does.
<!--#include file="includes/g3_wrap_external_api_snippet.md"-->
## Using Mocks in Tests ## Using Mocks in Tests
Once you have a mock class, using it is easy. The typical work flow is: Once you have a mock class, using it is easy. The typical work flow is:

View File

@ -1,7 +1,5 @@
## Using GoogleTest from various build systems ## Using GoogleTest from various build systems
[TOC]
GoogleTest comes with pkg-config files that can be used to determine all GoogleTest comes with pkg-config files that can be used to determine all
necessary flags for compiling and linking to GoogleTest (and GoogleMock). necessary flags for compiling and linking to GoogleTest (and GoogleMock).
Pkg-config is a standardised plain-text format containing Pkg-config is a standardised plain-text format containing

View File

@ -1,9 +1,5 @@
# Googletest Primer # Googletest Primer
go/gunitprimer
[TOC]
## Introduction: Why googletest? ## Introduction: Why googletest?
*googletest* helps you write better C++ tests. *googletest* helps you write better C++ tests.