2008-10-28 3 views
6

저는 내 앱 중 하나에서 핵심 아키텍처 아이디어 중 하나로 방문자를 소개했습니다. 나는 같은 물건에 대해 작동하는 여러 방문자가있다. 자, 어떻게 테스트해야합니까? 내가 생각하고있는 일부 테스트는 단위 테스트가 더 커야 만한다. (통합 테스트는 무엇이든)하지만 여전히하고 싶다. 위키 아트의 C++ 샘플 코드를 어떻게 테스트하겠습니까? Visitor Pattern단위 테스트 방문자 패턴 아키텍처

답변

1

테스트 대상 객체를 만들고 방문하여 .... 올바른 것을 방문했는지 테스트합니다.

+0

방문자 패턴을 사용하는 Jsqlparser를 사용하고 있으며이를 테스트하는 방법을 알고 싶었 기 때문에 간단한 예제를 제공 할 수 있습니까? – Tony

+0

아마도 자신의 질문을하고 싶을 것입니다. 몇 가지 기본 코드와 테스트 문제가 무엇인지 보여줍니다. 나는 C++을 더 이상 사용하지 않지만 누군가 다른 사람에게 코드를 보여줄 가능성이 높습니다. –

+0

여기 내 질문에 [link] (http://stackoverflow.com/questions/41887920/how-to-do-unit-testing-of-visitors-in-jsqlparser)입니다. – Tony

2

당신은 mock objects를 만들고 방문자가 그들을 방문해야하고 모의 방문자를 만들고, 올바른 행동이 수행 된 것을 테스트 할 수 있습니다.

+0

그건 정말 좋은 생각이야! –

3

단위 테스트는 실제로 테스트 패턴에 관한 것이 아니라 메소드와 함수의 올바른 구현을 테스트하는 것입니다. 방문객 패턴은 특정 클래스 구조이며, 각 클래스 (구체적으로 ConcreteVisitor 및 ConcreteElement)에 관련하여 유닛 테스트가 필요합니다.

당신이 당신의 클래스 메소드는 OK 행동하는 그 신뢰를 개발 한

, 당신은뿐만 아니라 통합 테스트를 개발하여 단위 테스트 프레임 워크를 사용할 수 있습니다. 제 시간에 통합 테스트를 시작하지 마십시오. 실제로 특정 클래스 (예 : 단위 테스트)의 동작을 테스트하는 많은 통합 테스트를 개발할 수 있습니다.

모의 객체가 필요한지 또는 '실제'객체를 사용할 수 있는지 여부는 다른 문제입니다. 이것은 객체가 단위 테스트 목적에 충분히 잘 작동하는지 (즉, 많은 추가 종속성을 끌어 내지 못하는지), 객체 자체가 단위 테스트를 받았는지 여부에 달려 있습니다 (즉, 이러한 객체를 신뢰할 수 있어야합니다. 100 %). 모의 객체 대 실제 객체 문제는 stackflow에서 해결되었으므로 unittest 태그를 검색하십시오.