Whiteship's Note

'Osgi Mock'에 해당되는 글 1건

  1. 2008.06.17 9.1. OSGi Mocks

9.1. OSGi Mocks

Spring DM/Chapter 9 : 2008.06.17 22:28


대부분의 OSGi API들이 인터페이스고 EasyMock같은 라이브러리를 사용하여 목객체를 만들어 사용하는 것이 간단할 수도 있지만, 실제로는 상당히 많은 코드를 필요로 한다.(특히 JDK 1.4에서..) 테스트를 짧고 간결하게 유지하기위해, 스프링 DM은 org.springframework.osgi.mock 패키지 아래에 OSGi 목들을 제공한다.

이것들이 유용한지 아닌지는 여러분들에게 달려있다. 우린 스프링 DM 테스트 스위트를 만들 때 이들을 상당히 많이 사용했다. 아래의 코드는 그런 테스트 코드에서 흔히 볼 수 있는 코드 조각이다.

private ServiceReference reference;
private BundleContext bundleContext;
private Object service;
   
protected void setUp() throws Exception {
    reference = new MockServiceReference();
    bundleContext = new MockBundleContext() {

        public ServiceReference getServiceReference(String clazz) {
            return reference;
        }

        public ServiceReference[] getServiceReferences(String clazz, String filter)
                throws InvalidSyntaxException {
            return new ServiceReference[] { reference };
        }
       
        public Object getService(ServiceReference ref) {
            if (reference == ref)
               return service;
            super.getService(ref);
        }
    };

    ...
}
   
public void testComponent() throws Exception {
    OsgiComponent comp = new OsgiComponent(bundleContext);
   
    assertSame(reference, comp.getReference());
    assertSame(object, comp.getTarget());
}

마무리 하자면, 스프링 DM이 제공하는 라이브러리들을 사용해보고 여러분들이 가장 편한다고 느끼는 라이브러리를 사용하라. 우리가 작성한 테스트 스위트에서는 EasyMock 라이브러리와 통합 테스트를 많이 사용했다.

'Spring DM > Chapter 9' 카테고리의 다른 글

9.2. Integration Testing  (0) 2008.06.22
9.1. OSGi Mocks  (0) 2008.06.17
Chapter 9. Testing OSGi based Applications  (0) 2008.06.17
top

Write a comment.