2. 설치
3. Silverlight Unit에서 사용하기
4. Example
A dynamic mock object framework for the .Net platform. It's purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.
Licensing: Rhino Mocks is Free Software which is released under the BSD license.
2. 설치
위의 파일을 받아서 압축을 풀어보면 다음과 같은 파일이 들어 있는 것을 확인할 수 있다.
테스트 프로젝트의 참조에 Rhino.Mocks 3.5 Silverlight.dll을 포함시키고 using Rhino.Mocks를 추가하면 된다.
3. Silverlight Unit에서 사용하기
Rhino Mocks를 사용하기 위해서는 다음을 지켜야 한다.
1. Mock Object로 만들 대상 Class의 함수가 상속 가능해야 한다. (virtual)
2. MockRepository에 Mock Object에 대한 선언이 끝나면 ReplayAll을 호출한다.
3. Test가 끝나면 VerifyAll을 호출해 정의한 대로 실행되었는지 확인한다.
- VerifyAll을 호출하였을 때 정의한 대로 실행되지 않았다면 Test Fail이 발생한다.
Rhino Mocks로 클래스/인터페이스를 Mocking하기 위해서 다음과 같은 절차를 거친다.
2. 클래스인 경우에 PartialMock, 인터페이스인 경우에 StrickMock을 이용해 MockObject를 만든다.
Mock Object에서 가상으로 사용할 함수를 선언한다.
return value가 void인 경우 _ Expect.Call(delegate{function;}) or ...; LastCall
-
Expect.Call(function).Return(data); - function을 호출하면 data가 return 된다.
Expect.Call(function).Repeat.Once() - function이 한 번만 실행되는 것을 확인한다.
참고 자료) Rhino Mocks 3.3 Quick Reference.pdf
4. Example
위 함수에서 사용하는 클래스 멤버 함수인 GetSynchronizeData, GotoAndStop, GotoAndPlay를 Mock Object를 통해 구현하자.
'Tech > Silverlight' 카테고리의 다른 글
ImageButton 만들기 (0) | 2009.06.11 |
---|---|
Silverlight2 Unit Test (0) | 2009.05.19 |
DataGrid 사용법 (0) | 2009.04.06 |
LINQ (Language Integrated Query) (0) | 2009.04.06 |