VB.NET 2008/비주얼 스튜디오

IDE - 개체 테스트 도구

본클라쓰 2011. 4. 7. 11:06

 

OTB(Object test builder, 개체 테스트 도구)는 간단한 개체 수준 테스트를 위해 설계되었다.

 

OTB를 사용하면 프로젝트의 개체 인스턴스를 만들고 메서드를 호출하고 결과를 평가할 수 있다. 이렇게 하면 코드 작성, 디버깅 및 수정에 필요한 작업을 줄일 수 있다.

 

OTB에는 클래스 디자이너나 클래스 뷰에 표시되는 개체와 상호 작용하고 이러한 개체를 조작하기 위한 대화 상자 컬렉션과 도구 창이 포함되어 있다.

 

OTB를 사용하여 수행할 수 있는 작업은 다음과 같다.

 

- 지엽적인 언어 구문 문제에 방해르르 받지 않은 채 개체 지향 프로그래밍 개념을 이해할 수 있다.

- 학생이나 아마추어 프로그래머가 작고 간단한 프로젝트에 사용할 수 있도록 설계된 비교적 간단한 테스트 도구를 제공할 수 있다.

- 코드 작성, 디버깅, 코드 수정의 반복되는 작업을 단축할 수 있다.

- 간단한 클래스와 해당 메서드를 테스트할 수 있다.

- 라이브러리 API의 동작을 신속하게 파악할 수 있다.

 

 

개체 테스트 도구는 클래스 뷰에서 마우스 오른쪽 단추로 개체를 클릭하여 사용할 수 있는 개체 작업 집합을 통해 다른 Visual Studio 창에 연결된다. 이러한 개체 작업에는 인스텉스 만들기와 정적 메서드 호출이 있다.

 

개체 인스턴스는 개체 테스트 도구 도구 창에 도형으로 표시된다. 이 도형을 마우르 오른쪽 단추로 클릭하고 바로 가기 메뉴를 사용하여 개체를 검사하고 개체의 메서드를 호출할 수 있다.

 

개체 테스트 도구를 사용하는 방법은 이외로 간단하다.

 

새로운 프로젝트를 시작하고 새로운 프로젝트에 Class1이라는 클래스를 작성한다.


' 단위 테스트를 수행하기 위한 클래스
Public Class Class1

 

    ' 단위 테스트시 호출할 메소드
    Public Sub ShowMessage(ByVal a As Integer)
        MsgBox("단위 테스트 성공")
    End Sub

 

End Class

 

위 클래스의 ShowMessage 메서드를 테스트 도구를 사용해 테스트 하기 위해서는 Visual Studio에서 '클래스 뷰' 보기를 선택한다. (만약, 클래스 뷰가 IDE에 없다면 [도구 - 클래스 뷰] 를 선택하거나 Ctrl + Shift + C 을 선택하면 나타난다.)

 

 

여기에서 단위 테스트할 메서드가 있는 클래스에 마우스 우클릭한 후 '인스턴스 만들기'를 선택한다.

 

 

확인을 선택하면 개체 테스트 도구에 글래스 도형이 생성된다.

 

 

생성된 클래스 도형에 마우스 우클릭한 후 '메서도 호출'을 선택한 후 단위 테스트할 메서드를 선택하면 개체 테스트를 수행한다.

 

 

 

OTB(개체 테스트 도구)를 사용하면 간단한 클래스와 해당 메서드를 테스트하고 API 라이브러리의 동작을 빠르게 확인할 수 있지만 이 도구가 지원되지 않는 여러 가지 시나리오도 있다. OTB가 지원되지 않는 시나리오를 발견하면 테스트가 중지되고 오류 메시지가 나타난다.

 

OTB에는 Public, Private, Protected 등과 같이 사용되는 액세스 한정자와 상관없이 클래스의 함수, 메서드, 생성자 또는 서브루틴이 모두 표시된다. 그러나 OTB에는 다음과 같은 제한 사항이 적용된다.

 

- 함수, 메서드, 생성자 또는 서브루틴은 연산자일 수 없다.

- 함수, 메서드, 생성자 또는 서브루틴은 소멸자일 수 없다.

- 함수, 메서드, 생성자 또는 소멸자는 제네릭일 수 없다.

 

 

OTB에서는 다양한 메서드 매개 변수 및 반환 형식을 실행한다. 응용 프로그램을 테스트할 때 함수, 메서드, 생성자 또는 서브루틴의 모든 매개 변수와 반환 형식이 다음 조건을 충족하는지 확인해야 한다.

 

- 반환 형식과 매개 변수는 제네릭일 수 없다.

- 반환 형식과 매개 변수는 차원, 가변 배열 또는 사각형 배열 같은 임의의 배열 형식일 수 있다.

- 반환 형식과 매개 변수는 임의의 class, struct, interface 또는 enum일 수 있다.

- 반환 형식과 매개 변수는 수학 식일 수 없다. 예를 들어 return myInt + 3  코드는 제대로 실행되지 않는다.

- 변수 매개 변수는 지원되지 않는다.

- 반환 형식은 void 일 수 있다.

- 매개 변수에 in, out 또는 ref 한정자를 사용할 수있다.