Update gmock_faq.md
This commit is contained in:
parent
bd9539b975
commit
063ba1f4ba
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
### Mock object의 method를 하나 호출했는데 real object의 method가 호출되어 버렸습니다. 왜 그런건가요? ###
|
### Mock object의 method를 하나 호출했는데 real object의 method가 호출되어 버렸습니다. 왜 그런건가요? ###
|
||||||
|
|
||||||
Class method를 mocking하기 위해서는 기본적으로 *virtual*로 선언해야 합니다. 그게 어려운 경우라면 [high-perf dependency injection technique](cook_book.md#mocking-nonvirtual-methods)을 사용해도 됩니다.
|
Class method를 mocking하기 위해서는 기본적으로 *virtual*로 선언해야 합니다. 그게 어려운 경우라면 [high-perf dependency injection technique](cook_book.md#nonvirtual-method-mocking-하기)을 사용해도 됩니다.
|
||||||
|
|
||||||
### 가변함수(variadic function)도 mocking 할 수 있나요? ###
|
### 가변함수(variadic function)도 mocking 할 수 있나요? ###
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ void Bar(const int* p); // p is not const, but *p is.
|
|||||||
|
|
||||||
`--gmock_verbose=info`라는 flag와 함께 테스트를 수행하면, mock function의 trace까지 포함해서 최대한 많은 정보를 출력해 줍니다. 이러한 trace를 확인해보면 expectation이 만족되지 않은 이유를 밝히는데 도움이 될 것입니다.
|
`--gmock_verbose=info`라는 flag와 함께 테스트를 수행하면, mock function의 trace까지 포함해서 최대한 많은 정보를 출력해 줍니다. 이러한 trace를 확인해보면 expectation이 만족되지 않은 이유를 밝히는데 도움이 될 것입니다.
|
||||||
|
|
||||||
혹시, "The mock function has no default action set, and its return type has no default value set." 이라는 message가 출력되었다면 [adding a default action]()을 적용해보기 바랍니다. 내부적인 이슈로 인해서 default action이 없는 상태에서 발생한 unexpected call에 대해서는 자세한 정보(actual argument와 expected argument 비교 등)는 출력하지 않고 있으며 위와 같은 message만 출력하고 있습니다.
|
혹시, "The mock function has no default action set, and its return type has no default value set." 이라는 message가 출력되었다면 [adding a default action](cook_book.md#return-type의-default-value-변경하기)을 적용해보기 바랍니다. 내부적인 이슈로 인해서 default action이 없는 상태에서 발생한 unexpected call에 대해서는 자세한 정보(actual argument와 expected argument 비교 등)는 출력하지 않고 있으며 위와 같은 message만 출력하고 있습니다.
|
||||||
|
|
||||||
### Program이 crash가 발생한 후에, `ScopedMockLog`가 너무 많은 내용을 출력합니다. 혹시 gMock의 bug가 아닌가요?
|
### Program이 crash가 발생한 후에, `ScopedMockLog`가 너무 많은 내용을 출력합니다. 혹시 gMock의 bug가 아닌가요?
|
||||||
|
|
||||||
@ -228,7 +228,7 @@ using ::testing::_;
|
|||||||
|
|
||||||
### 새로운 action을 만들 수 있나요?
|
### 새로운 action을 만들 수 있나요?
|
||||||
|
|
||||||
gMock에서 지원하지 않는 새로운 action을 구현하고 싶다면 [MakeAction()](https://github.com/ant35rookie/googletest_docs/blob/master/cook_book.md#writing-new-actions-quickly), [MakePolymorphicAction() ](https://github.com/ant35rookie/googletest_docs/blob/master/cook_book.md#writing-new-polymorphic-actions)를 사용하면 됩니다. 또한 stub function을 구현하고 [Invoke()](https://github.com/ant35rookie/googletest_docs/blob/master/cook_book.md#using-functionsmethodsfunctors-as-actions)를 사용해서 호출하는 것도 가능합니다.
|
gMock에서 지원하지 않는 새로운 action을 구현하고 싶다면 [MakeAction()](cook_book.md#새로운-action을-빠르게-구현하기), [MakePolymorphicAction() ](https://github.com/ant35rookie/googletest_docs/blob/master/cook_book.md#writing-new-polymorphic-actions)를 사용하면 됩니다. 또한 stub function을 구현하고 [Invoke()](https://github.com/ant35rookie/googletest_docs/blob/master/cook_book.md#using-functionsmethodsfunctors-as-actions)를 사용해서 호출하는 것도 가능합니다.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
using ::testing::_;
|
using ::testing::_;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user