저는 내 앱 중 하나에서 핵심 아키텍처 아이디어 중 하나로 방문자를 소개했습니다. 나는 같은 물건에 대해 작동하는 여러 방문자가있다. 자, 어떻게 테스트해야합니까? 내가 생각하고있는 일부 테스트는 단위 테스트가 더 커야 만한다. (통합 테스트는 무엇이든)하지만 여전히하고 싶다. 위키 아트의 C++ 샘플 코드를 어떻게 테스트하겠습니까? Visitor Pattern단위 테스트 방문자 패턴 아키텍처
답변
테스트 대상 객체를 만들고 방문하여 .... 올바른 것을 방문했는지 테스트합니다.
당신은 mock objects를 만들고 방문자가 그들을 방문해야하고 모의 방문자를 만들고, 올바른 행동이 수행 된 것을 테스트 할 수 있습니다.
그건 정말 좋은 생각이야! –
단위 테스트는 실제로 테스트 패턴에 관한 것이 아니라 메소드와 함수의 올바른 구현을 테스트하는 것입니다. 방문객 패턴은 특정 클래스 구조이며, 각 클래스 (구체적으로 ConcreteVisitor 및 ConcreteElement)에 관련하여 유닛 테스트가 필요합니다.
당신이 당신의 클래스 메소드는 OK 행동하는 그 신뢰를 개발 한, 당신은뿐만 아니라 통합 테스트를 개발하여 단위 테스트 프레임 워크를 사용할 수 있습니다. 제 시간에 통합 테스트를 시작하지 마십시오. 실제로 특정 클래스 (예 : 단위 테스트)의 동작을 테스트하는 많은 통합 테스트를 개발할 수 있습니다.
모의 객체가 필요한지 또는 '실제'객체를 사용할 수 있는지 여부는 다른 문제입니다. 이것은 객체가 단위 테스트 목적에 충분히 잘 작동하는지 (즉, 많은 추가 종속성을 끌어 내지 못하는지), 객체 자체가 단위 테스트를 받았는지 여부에 달려 있습니다 (즉, 이러한 객체를 신뢰할 수 있어야합니다. 100 %). 모의 객체 대 실제 객체 문제는 stackflow에서 해결되었으므로 unittest 태그를 검색하십시오.
방문자 패턴을 사용하는 Jsqlparser를 사용하고 있으며이를 테스트하는 방법을 알고 싶었 기 때문에 간단한 예제를 제공 할 수 있습니까? – Tony
아마도 자신의 질문을하고 싶을 것입니다. 몇 가지 기본 코드와 테스트 문제가 무엇인지 보여줍니다. 나는 C++을 더 이상 사용하지 않지만 누군가 다른 사람에게 코드를 보여줄 가능성이 높습니다. –
여기 내 질문에 [link] (http://stackoverflow.com/questions/41887920/how-to-do-unit-testing-of-visitors-in-jsqlparser)입니다. – Tony