CppUTest 와 Google Test 에서 테스트 케이스를 등록 할 때 메모리 영역 사용 관련 질문
CppUTest 는 테스트 케이스를 등록 할 때 각 테스트케이스의 클래스들이 전역 변수로 할당 되어, 테스트케이스들의 관리를 위한 별도 메모리 사용이 없이 전역 변수 간에 링크드리스트로 관리가 되네요.. 즉..
TestcaseA : Test{
...
Test * next;
} testInstance;
TestInstaller install(&testInstance, ...);
이런 식으로 처리가 됩니다..
그리고 실제 install 내에서도 따로 testInstance 변수들을 큐를 잡아서 관리하거나 하지 않고, testInstance 끼리 next 포인터로 엮어서 관리해 주는군요..
testInstanceA->next = testInstanceB;
testInstanceB->next = testInstanceC;
...
반면, Google Test 는
TestcaseA : Test{
...
};
testinfor * testinfo_ = MakeAndRegisterTestInfo(...);
코드를 통해 테스트케이스를 생성하는데 MakeAndRegisterTestInfo(...); 함수 내부를 들어가 보면 결국 new TestcaseA() 를 하고 있습니다.
결국 CppUTest는 메모리의 데이터 영역, Google Test는 메모리의 heap 영역에 각각 테스트케이스를 관리하는 것 같은데요..
두 방식은 각각 어떤 장단점이 있을까요? (양 쪽 다 별 차이가 없는데 괜한 삽질을 한걸 까요? --;;)
댓글 달기