괜찮습니다. 나는 C++로 화면 스크래핑 프로그램을 끝냈다. 이제 어떻게 유닛 테스트를 할 수 있습니까? 어디서부터 시작해야합니까?단위 테스트 .cpp How-To
답변
코드를 테스트하는 데 도움이되는 여러 가지 단위 테스트 프레임 워크가 있습니다.
체크 아웃 : 당신이하여 응용 프로그램의 흐름을 확인 도움이됩니다 http://code.google.com/p/googlemock/에 http://code.google.com/p/googletest/
및 구글 모의 (구글 C++ 비웃음 프레임 워크)에서 확인할 수있다 구글 테스트 (구글 C++ 테스트 프레임 워크) 클래스에 대한 mock 객체 만들기. GoogleTest 프레임 워크는 사용자의 요구에 맞지 않을 경우
(당신이 http://en.wikipedia.org/wiki/Mock_object에서 모의 개체에 대한 읽어야한다), 당신은 또 다른 훌륭한 대안이 CxxTest (http://cxxtest.tigris.org/)라고합니다.
행운을 빈다.
탈.
UnitTest ++도 매우 좋은 것으로 들었습니다 : http://unittest-cpp.sourceforge.net/ –
thanks Tal! CPPUNIT를 이미 내 netbeans에 사용하고 있습니다. – svenus
기본적으로해야 할 일은 테스트 할 모듈/클래스를 가져 와서 나머지 시스템과 분리하고 외부 클래스/API와의 상호 작용을 시뮬레이트 (가짜) 한 다음 그것이해야 할 일을 했어.
일반적으로 "모의 객체"를 사용하여이 시뮬레이션을 수행합니다. 테스트 (SUT)에서 시스템 (모듈/클래스)에 대한 다양한 작동 조건을 실행하기 위해 모의 객체의 동작을 고안합니다. 기존의 모의 객체 프레임 워크를 사용할 수도 있고, SUT가 사용하는 모든 인터페이스를 구현하는 객체 나 함수를 생성하여 간단히 "자신 만의 모의 객체"를 굴릴 수도 있습니다.
모의 개체를 SUT에 삽입하는 방법을 알아야합니다. 예를 들어 SUT에 멤버 변수 인스턴스가있는 경우 SUT의 하위 클래스를 만들고 "SetMemberObj (aMockInstance)"메서드를 추가하여 mock 객체를 설치할 수 있습니다. SUT가 전역 함수를 사용한다면, 아마도 동일한 서명을 가진 함수를 생성 할 수 있으며, 테스트 함수를 실제 함수를 포함하는 .lib과 연결하지 말아야합니다. 그러면 SUT가 가짜 함수를 호출하게됩니다.
또한 SUT의 동작을 확인하는 방법을 결정해야합니다. 간단한 경우에는 메서드의 반환 코드를 확인할 수 있지만 좀 더 복잡한 상황에서는 모의 개체를 쿼리하여 SUT에서 호출 한 방법을 확인해야합니다.
SUT를 실제로 호출하는 방법을 알아내는 것도 어려울 수 있습니다. 내가 일반적으로하는 일은 콘솔 출력을 만드는 것입니다 .exe는 다양한 방법으로 SUT를 인스턴스화하고 구동하여 stdout 및/또는 리턴 코드를 통해 오류를 나타냅니다. 단위 테스트 프레임 워크는이 작업에 매우 유용 할 수 있지만 완전히 필요하지는 않습니다. 여기
감사합니다! – svenus
는 C++로 테스트 주도 개발을 보여주는 교육용 비디오입니다 http://www.vimeo.com/album/254486
는 하나를 선택하는 것이 오히려 위협이 될 수 있도록 가능한 C++ 유닛 테스트 프레임 워크가 많이 있습니다. Here은 여러 프레임 워크를 평가하고 C++ 단위 테스트의 많은 예제를 포함하는 매우 훌륭한 일련의 블로그 게시물입니다.
실제로 너무 오래 되었기 때문에이 비교의 큰 팬이 아닙니다. 기존 프레임 워크에 대한 그의 불만 중 일부는 개입 후 몇 년 동안 해결되었습니다 (예 : boost :: test의 이전 스위트 부족). –
- 1. 작성된 프로파일 단위 테스트 코드는 cpp
- 2. 단위 테스트 조언 - .asmx 단위 테스트 방법
- 3. 단위 테스트
- 4. 단위 테스트 단위 테스트에 새로운
- 5. 테스트 하네스 생성 (단위 테스트)
- 6. Python으로 Howto 셀레늄 테스트 인프라 스트럭처?
- 7. python unittest howto
- 8. 단위 테스트 WPF UserControls
- 9. 단위 테스트 iPhone 회전
- 10. XNA 단위 테스트
- 11. ASP.NET 단위 테스트
- 12. 단위 테스트 무효 메서드?
- 13. 노드 단위 테스트 URL
- 14. C++ 자동화 단위 테스트
- 15. 일반 단위 테스트 스케줄
- 16. 단위 테스트 실행 중지
- 17. 단위 테스트 (C#)
- 18. 단위 테스트 asp.net 경로
- 19. 단위 테스트 작성 방법
- 20. Tibco 단위 테스트 도구
- 21. 원시 단위 테스트
- 22. 단위 테스트 처리기
- 23. 단위 테스트 - 사용자 계정
- 24. 단위 테스트 스칼라
- 25. 단위 테스트 'SetDefaults()'방법
- 26. ServiceLocator를 이용한 단위 테스트
- 27. 자바 서블릿 단위 테스트
- 28. 단위 테스트 란 무엇입니까?
- 29. UITableViewCell의 단위 테스트
- 30. Eclipse에서의 JavaScript 단위 테스트
google "C++ unit testing" – Andrey
Google은 오래된 학교입니다. 이제는 stackoverflow 및 사람들에게 google에 대해 묻습니다 - 그것의 호출 된 위임 (설계 패턴조차도). – IAdapter
* CppUnit을 선택하지 마십시오. 이름이 마음에 들지만. Google Test 또는 UnitTest ++와 같은 최신 버전을 탐색하십시오. –