-
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 댓글