ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Moq.net 사용하기
    C#, 닷넷 2010. 11. 25. 17:55
    반응형

    TDD(Test Driven Development)를 하려다 보니까 mock 이 필요하게 되서 테스트 해 보게 되었습니다. 
    DB를 연결한다거나 실제 네트워크 접속없이도 간단하게 테스트를 해볼 수 있도록 도와주는 가짜 객체입니다. 
    자바는 mock라는게 있는거 같던데 닷넷에서 사용하려니 moq.net이 있어서 사용해 봤습니다. 
    http://code.google.com/p/moq/
    에서 다운 받아서 압축을 푼다음에 dll파일을 참조에 추가하면 됩니다.

    참조 추가한 다음에 moq.net을 사용하려면 일단 인터페이스가 있어야 됩니다.

    Network 라는 가상 인터페이스를 아래와 같이 추가합니다.

    public interface Network

        {

            int get(int id);

            string IP { get; set; }

        }

    그 다음 이 인터페이스를 이용하는 moq객체를 생성해서 사용하면 됩니다.

    using Moq; 로 Moq를 임포트 한 다음에 

    var mock = new Mock<Network>(); //Network 인터페이스형의 mock 객체를 선언해서
    mock.Setup(network => network.get(1)).Returns(10); //get메소드를 구현해 줍니다. parameter 1에 대해서 10을 반환합니다.
    mock.Setup(network => network.IP).Returns("127.0.0.1");     //IP 라는 Property 는 127.0.0.1을 설정합니다.

    MessageBox.Show(mock.Object.IP); //생성된 mock 객체의 사용은 객체명.object 를 이용해서 사용합니다.
    MessageBox.Show(mock.Object.get(1).ToString());

    첨에는 거창하게 쓰려고 했는데 code highlighter도 정상작동 안하고 해서 그냥 간단하게 정리만 했습니다.;;;

    반응형

    'C#, 닷넷' 카테고리의 다른 글

    Sqlite C# 연동  (0) 2011.04.20
    닷넷 Debug 클래스 사용하기  (0) 2010.09.30
    윈도우 응용프로그램 예외처리에 관한 생각  (0) 2010.09.09
    Visual Studio Express Edition  (0) 2010.04.07

    댓글

Designed by Tistory.