Update primer.md
This commit is contained in:
parent
d535e7c638
commit
4c78cf7b7f
@ -131,7 +131,7 @@ Argument가 변수형태라면 assertion코드가 수행되는 시점에 저장
|
|||||||
|
|
||||||
## 간단한 테스트
|
## 간단한 테스트
|
||||||
|
|
||||||
Test를 생성할 때에는 아래와 같은 순서로 진행합니다.
|
개별 Test(Test Case)를 생성할 때에는 아래와 같은 순서로 진행합니다.
|
||||||
|
|
||||||
* `TEST()` macro를 사용하여 Test의 이름을 정하고 구현합니다. `TEST()` macro는 return type이 `void`인 C++ function을 생성해줍니다.
|
* `TEST()` macro를 사용하여 Test의 이름을 정하고 구현합니다. `TEST()` macro는 return type이 `void`인 C++ function을 생성해줍니다.
|
||||||
* `TEST()` macro의 body에는 테스트에 필요한 C++ 소스코드를 구현하면 됩니다. 이 때 바로 assertion을 사용하게 되며 사용자가 확인하고 싶은 내용들을 직접 구현하면 됩니다.
|
* `TEST()` macro의 body에는 테스트에 필요한 C++ 소스코드를 구현하면 됩니다. 이 때 바로 assertion을 사용하게 되며 사용자가 확인하고 싶은 내용들을 직접 구현하면 됩니다.
|
||||||
@ -143,9 +143,9 @@ TEST(TestSuiteName, TestName) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
`TEST()`로 전달되는 2개의 argument 중에서 *첫 번째는* 상위 Test Suite의 이름이고 *두 번째가* Test 자신의 이름입니다. 두 이름 모두 C++ 언어에서도 유효한 식별자여야 하며 밑줄(`_`)을 포함하면 안됩니다. 이렇게 Test의 *full name*이 Test Suite의 이름과 개별 Test의 이름으로 구성된다는 것도 알게 되었습니다. (Test Suite이 서로 다르다면 Test 이름은 같아도 됩니다.)
|
`TEST()`로 전달되는 2개의 argument 중에서 *첫 번째는* 상위 Test Suite의 이름이고 *두 번째는* 개별 Test(Test Case)의 이름입니다. 두 이름 모두 C++ 언어에서도 유효한 식별자여야 하며 밑줄(`_`)을 포함하면 안됩니다. 유효한 이름들이 전달되었다면 `TestSuiteName`과 `TestName`을 합쳐서 Test Case의 *full name*이 만들어집니다. 따라서 `TestSuiteName`이 서로 다르다면 `TestName`은 같아도 됩니다. 더불어 `TEST()`를 사용하면 googletest가 `TestSuiteName`을 통해 Test Suite(Test Fixture)를 직접 생성해 줍니다. 반면에 `TEST_F()` 등을 사용하면 사용자가 직접 구현한 Test Suite(Test Fixture)를 적용하는 것도 가능합니다. 이 부분은 바로 다음 섹션에서 설명합니다.
|
||||||
|
|
||||||
이제 `Factorial()`이라는 function을 테스트하는 간단한 예제를 보겠습니다.
|
그럼 `Factorial()`이라는 function을 테스트하는 간단한 예제를 보겠습니다.
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
int Factorial(int n); // Returns the factorial of n
|
int Factorial(int n); // Returns the factorial of n
|
||||||
|
Loading…
x
Reference in New Issue
Block a user