메일로 받은 단위 테스트에 대한 질문

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:December 4, 2010

저는 Visual C++ 환경에서 애플리케이션을 개발하는 학생입니다. 지난 몇 년간 Visual Studio 6.0을 사용했었는데, 얼마 전에 Visual Studio 2005 Team System 을 이용하여 개발 하기 시작했습니다. Visual Studio 2005 Team System을 살펴보면, Unit Test 라는 기능이 있었습니다. 하지만, Unit Test에 대한 자료가 거의 없을뿐만 아니라, 대부분이 C# 프로젝트와 관련된 것이었습니다.

더불어, MSDN 에 링크 되어있는 C++ 관련 Unit Test 샘플 코드 소스는 링크가 깨져있더군요. MSDN의 설명 중간 중간에 있는 샘플 코드에는 C++ 과 관련된 내용은 거의 전무한 상태 였습니다. 검색을 하던도중 VSTS에 들어있는 Unit Test 라는것이 NUnit 에서 시작되었다는 이야기를 들었습니다. Searching을 하다가 우연하게 방문한 https://andromedarabbit.net에서 andromedarabbit 님이 NUnit에 대해 생각 하고 계신것 같아서, 여러가지 궁금증을 물어보려고 합니다.

답변: VS.NET 2003 이후의 C++은 크게 두 가지입니다. 하나는 .NET Framework 위에서 작동하는 Managed C++이고, 다른 하나는 기존의 Native C++입니다. 말씀하신 Visual Studio 2005 Team System의 Unit Test는 Managed C++에 적용되는 내용일 겁니다.

Native C++이라면 CppUnit라는 오픈소스 프로젝트의 성과물을 사용해보시는 것은 어떨까요? 구글에서 cppunit으로 검색하면 상단에서 프로젝트 홈페이지를 찾을 수 있습니다.

마지막으로 세 가지 질문에 대해 대답해 드리겠습니다.

  1. 이미 만들어져있는 클래스와 함수를 가져와서 테스트를 할 수는 없는지 궁금합니다.

    답변: 단위 테스트의 개념을 잘 모르시는 것 같습니다. 메인 소스코드와 단위 테스트 코드는 분리됩니다. cppunit 사이트 등에 가셔서 예제를 살펴보시는 것은 어떨까요?

    VS.NET 메인 프로젝트와 단위 테스트 프로젝트를 별도로 둘 수도 있고, 메인 프로젝트 안에 단위 테스트 코드를 넣을 수도 있습니다. 만약 한 프로젝트에 단위 테스트 코드까지 집어넣을 생각이시라면 #if UNIT_TEST 등과 같이 전처리 명령어를 사용하면 됩니다.

  2. 만약 가능하다면, C++ 에서는 이미 만들어져있는 클래스를 어떻게 연결 시킬수 있는지 궁금합니다.

    답변: VS.NET으로 여러 개의 프로젝트를 한번에 사용해 보신 적이 없나요? 단위 테스트 프로젝트의 프로젝트 설정에 들어가셔서 메인 프로젝트의 산출물(DLL, EXE 등)이나 소스코드를 참조하면 됩니다.

  3. 만약 불가능 하다면, 이미 만들어져있는 클래스와 함수를 가져와서 테스트 할 수 있는 다른 프로그램은 어떤게 있을까요?

    답변: 가능합니다.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments