org.eclipse.gemini.blueprint.test.internal.OsgiJUnitTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gemini-blueprint-test Show documentation
Show all versions of gemini-blueprint-test Show documentation
Eclipse Gemini Blueprint testing framework. Provides JUnit based integration testing inside OSGi containers.
/******************************************************************************
* Copyright (c) 2006, 2010 VMware Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html and the Apache License v2.0
* is available at http://www.opensource.org/licenses/apache2.0.php.
* You may elect to redistribute this code under either of these licenses.
*
* Contributors:
* VMware Inc.
*****************************************************************************/
package org.eclipse.gemini.blueprint.test.internal;
import junit.framework.TestCase;
import org.osgi.framework.BundleContext;
/**
* JUnit contract for OSGi environments. It wraps some of TestCase methods as
* well as adds some to allow flexible access to the test instance by the
* TestRunnerService implementation.
*
* @author Costin Leau
*
*/
public interface OsgiJUnitTest {
/**
* Replacement for the 'traditional' setUp. Called by TestRunnerService.
*
* @see junit.framework.TestCase#setUp
* @throws Exception
*/
void osgiSetUp() throws Exception;
/**
* Replacement for the 'traditional' tearDown. Called by TestRunnerService.
*
* @see junit.framework.TestCase#tearDown
* @throws Exception
*/
void osgiTearDown() throws Exception;
/**
* Replacement for the 'traditional' runTest. Called by TestRunnerService.
*
* @throws Throwable
*/
void osgiRunTest() throws Throwable;
/**
* Provides the OSGi bundle context to the test
*
* @param bundleContext
*/
void injectBundleContext(BundleContext bundleContext);
/**
* Simple getter that returns the raw TestCase class. Used mainly when
* applying OsgiJUnit functionality through decoration rather then
* inheritance.
*
* @return
*/
TestCase getTestCase();
}