blob: c606eb629e278845729a472726fe5952f67790d5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE- 2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<head>
<title>Apache Felix - apache-felix-ipojo-testing-components</title>
<link rel="icon" href="/res/favicon.ico">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The most powerful component model for OSGi">
<link href="/ipojo/web/bootstrap/css/bootstrap-cerulean.css" rel="stylesheet">
<link href="/ipojo/web/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
<link href="/ipojo/web/bootstrap/css/font-awesome.min.css" rel="stylesheet">
<link href="/ipojo/web/style.css" rel="stylesheet">
<!-- Overide alert's colors -->
<link href="/ipojo/web/bootstrap/css/alert.css" rel="stylesheet">
<link rel="stylesheet" href="/ipojo/web/github.css" type="text/css" media="all">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="/ipojo/web/bootstrap/js/bootstrap.min.js"></script>
</head>
<body data-spy="scroll" data-target=".subnav">
<div class="navbar navbar-fixed-top navbar-inverse">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/documentation/subprojects/apache-felix-ipojo.html">Apache Felix iPOJO</a>
<div class="nav-collapse" id="main-menu">
<ul class="nav" id="main-menu-left">
<li><a href="/documentation/subprojects/apache-felix-ipojo/ipojo-news.html">News</a></li>
<li><a href="http://felix.apache.org/downloads.cgi">Downloads</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials <b class="caret"></b></a>
<ul class="dropdown-menu" id="tutorials-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-why-choose-ipojo.html">Why choose iPOJO</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-successstories.html">Success stories</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-feature-overview.html">Features</a></li>
<li class="divider"></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-in-10-minutes.html">iPOJO in 10 minutes</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/how-to-use-ipojo-annotations.html">Using Annotations</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-hello-word-maven-based-tutorial.html">Maven tutorial</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-advanced-tutorial.html">Advanced tutorial</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/apache-felix-ipojo-dosgi.html">Using Distributed OSGi</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/ipojo-composition-tutorial.html">Application Composition</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation <b class="caret"></b></a>
<ul class="dropdown-menu" id="user-guide-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/service-requirement-handler.html">Requiring a service</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/providing-osgi-services.html">Providing a service</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/lifecycle-callback-handler.html">Lifecycle management</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/configuration-handler.html">Configuration</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/architecture-handler.html">Introspection</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/controller-lifecycle-handler.html">Impacting the lifecycle</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/injecting-bundle-context.html">Accessing the Bundle Context</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-instances.html">Creating instances</a></li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">External <em>handlers</em></a>
<ul class="dropdown-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/event-admin-handlers.html">Asynchronous communication</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/ipojo-jmx-handler.html">JMX management</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/extender-pattern-handler.html">Extender pattern</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/white-board-pattern-handler.html">Whiteboard pattern</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/temporal-service-dependency.html">Temporal dependencies</a></li>
</ul>
</li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Configuration Admin &amp; Factories</a>
<ul class="dropdown-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html">iPOJO and config admin</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-factory-service.html">Using the iPOJO Factory service</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/how-to-use-ipojo-factories.html">Factories and Instances</a></li>
</ul>
</li>
<li class="divider"></li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Advanced topics</a>
<ul class="dropdown-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/instance-vs-service-controller.html">Instance vs. Service Controllers</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/service-binding-interceptors.html">Service Binding Interceptors</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/using-xml-schemas.html">XML Schemas</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/apache-felix-ipojo-api.html">Using the iPOJO API</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/constructing-pojo-objects-with-factory-methods.html">Constructing service objects with factory methods</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-ipojo-introspection-api.html">Using the introspection API</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-testing-components.html">Testing components</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-stereotypes.html">Using @Stereotypes</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-eclipse-integration.html">Eclipse Integration</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/ipojo-extender-configuration.html">Configuring iPOJO's Extender</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-faq.html">FAQ</a></li>
<li class="divider"></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/how-to-write-your-own-handler.html">Handler development</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/how-to-use-ipojo-manipulation-metadata.html">Manipulation Metadata </a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-devguide/dive-into-the-ipojo-manipulation-depths.html">Dive into the iPOJO Manipulation depths</a></li>
<li><a href="http://felix.apache.org/ipojo/api/1.12.1">Javadoc</a></li>
</ul>
</li>
</ul>
</li>
<li class="dropdown" id="tools-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Tools <b class="caret"></b></a>
<ul class="dropdown-menu" id="swatch-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-ant-task.html">Ant Task</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html">Maven Plugin</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-arch-command.html">Architecture commands</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html">Online Manipulator</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-webconsole-plugin.html">Webconsole plugin</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-karaf-feature.html">Apache Karaf Features</a></li>
</ul>
</li>
<li class="dropdown" id="community-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Community <b class="caret"></b></a>
<ul class="dropdown-menu" id="swatch-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/ipojo-support.html">Support</a></li>
<li><a href="http://www.apache.org/">ASF</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Sponsors</a></li>
</ul>
</li>
<li class="dropdown" id="misc-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Misc <b class="caret"></b></a>
<ul class="dropdown-menu" id="swatch-menu">
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedvms.html">Supported JVMs</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-supportedosgi.html">Supported OSGi Implementations</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/articles-and-presentations.html">Article & Presentations</a></li>
<li><a href="/documentation/subprojects/apache-felix-ipojo/developing-camel-mediators-with-ipojo.html">Developping Camel mediators with iPOJO</a></li>
</ul>
</li>
</ul>
<ul class="nav pull-right" id="main-menu-right">
<li><a rel="tooltip" target="_blank" href="http://felix.apache.org">Apache Felix <i class="icon-share-alt"></i></a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="content">
<style type="text/css">
/* The following code is added by mdx_elementid.py
It was originally lifted from http://subversion.apache.org/style/site.css */
/*
* Hide class="elementid-permalink", except when an enclosing heading
* has the :hover property.
*/
.headerlink, .elementid-permalink {
visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h1 id="how-to-test-ipojo-components">How to test iPOJO Components<a class="headerlink" href="#how-to-test-ipojo-components" title="Permanent link">&para;</a></h1>
<p>Testing components is a required step in the application development process. This page explains strategies to test iPOJO-based components and applications.</p>
<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h2>
<p>Basically, we can distinguish 2 types of tests:</p>
<ul>
<li>Unitary tests</li>
<li>Integration tests</li>
</ul>
<p>Unitary tests are famous and were popularized with the proliferation of frameworks like <a href="http://junit.org">Junit</a> and [TestNG|http://testng.org/doc/]. These tests check the behavior of classes. More specially, these tests check the method results according to different parameter values. These test are executed outside the execution environment, can use mock object (link) to replace/simulate missing dependencies...</p>
<p>Integration tests focus on the execution of the application inside the execution environment. It checks the global behavior of a service or an application. In the case of iPOJO, those tests are executed on OSGi. Some dependencies can be also replaced by mock services/objects.</p>
<h2 id="executing-unitary-tests-on-ipojo-components">Executing unitary tests on iPOJO components<a class="headerlink" href="#executing-unitary-tests-on-ipojo-components" title="Permanent link">&para;</a></h2>
<p>Unitary tests allow checking the internal behavior of an iPOJO component. Those tests ignore the injected dependencies and focus only on the business code of the component.</p>
<p>To test components, you can use Junit. A special constructor setting fields can do the dependency injection. These tests are executed before the bundlelization. </p>
<p>Let's imagine a maven project. Unitary tests are placed in the src/test/java folder. You can use mock object as illustrated in the example. When you launch the <code>mvn clean install</code> command, maven compiles your classes and executes the tests. If the tests are executed successfully, the build process continues and creates the bundle as follows:</p>
<div class="codehilite"><pre><span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Scanning</span> <span class="k">for</span> <span class="n">projects</span><span class="p">...</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Building</span> <span class="n">Dummy</span> <span class="n">Component</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">task</span><span class="o">-</span><span class="n">segment</span><span class="p">:</span> <span class="p">[</span><span class="n">clean</span><span class="p">,</span> <span class="n">install</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">clean</span><span class="p">:</span><span class="n">clean</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Deleting</span> <span class="n">directory</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span><span class="n">workspaces</span><span class="o">/</span><span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">resources</span><span class="p">:</span><span class="n">resources</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Using</span> <span class="n">default</span> <span class="n">encoding</span> <span class="n">to</span> <span class="n">copy</span> <span class="n">filtered</span> <span class="n">resources</span><span class="p">.</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">compiler</span><span class="p">:</span><span class="n">compile</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Compiling</span> 1 <span class="n">source</span> <span class="n">file</span> <span class="n">to</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span>
<span class="n">workspaces</span><span class="o">/</span><span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">classes</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">resources</span><span class="p">:</span><span class="n">testResources</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Using</span> <span class="n">default</span> <span class="n">encoding</span> <span class="n">to</span> <span class="n">copy</span> <span class="n">filtered</span> <span class="n">resources</span><span class="p">.</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">compiler</span><span class="p">:</span><span class="n">testCompile</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Compiling</span> 1 <span class="n">source</span> <span class="n">file</span> <span class="n">to</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span>
<span class="n">workspaces</span><span class="o">/</span><span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">test</span><span class="o">-</span><span class="n">classes</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">surefire</span><span class="p">:</span><span class="n">test</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Surefire</span> <span class="n">report</span> <span class="n">directory</span><span class="p">:</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span>
<span class="n">workspaces</span><span class="o">/</span><span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">surefire</span><span class="o">-</span><span class="n">reports</span>
<span class="o">-------------------------------------------------------</span>
<span class="n">T</span> <span class="n">E</span> <span class="n">S</span> <span class="n">T</span> <span class="n">S</span>
<span class="o">-------------------------------------------------------</span>
<span class="n">Running</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">ut</span><span class="p">.</span><span class="n">component</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">MyTestCase</span>
<span class="n">Tests</span> <span class="n">run</span><span class="p">:</span> 1<span class="p">,</span> <span class="n">Failures</span><span class="p">:</span> 0<span class="p">,</span> <span class="n">Errors</span><span class="p">:</span> 0<span class="p">,</span> <span class="n">Skipped</span><span class="p">:</span> 0<span class="p">,</span> <span class="n">Time</span> <span class="n">elapsed</span><span class="p">:</span> 0<span class="p">.</span>076 <span class="nb">sec</span>
<span class="n">Results</span> <span class="p">:</span>
<span class="n">Tests</span> <span class="n">run</span><span class="p">:</span> 1<span class="p">,</span> <span class="n">Failures</span><span class="p">:</span> 0<span class="p">,</span> <span class="n">Errors</span><span class="p">:</span> 0<span class="p">,</span> <span class="n">Skipped</span><span class="p">:</span> 0
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">bundle</span><span class="p">:</span><span class="n">bundle</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">ipojo</span><span class="p">:</span><span class="n">ipojo</span><span class="o">-</span><span class="n">bundle</span> <span class="p">{</span><span class="n">execution</span><span class="p">:</span> <span class="n">default</span><span class="p">}]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Start</span> <span class="n">bundle</span> <span class="n">manipulation</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Metadata</span> <span class="n">file</span> <span class="p">:</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span>
<span class="n">workspaces</span><span class="o">/</span><span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">classes</span><span class="o">/</span><span class="n">metadata</span><span class="p">.</span><span class="n">xml</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Input</span> <span class="n">Bundle</span> <span class="n">File</span> <span class="p">:</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span><span class="n">workspaces</span><span class="o">/</span>
<span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">-</span>1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span><span class="p">.</span><span class="n">jar</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Bundle</span> <span class="n">manipulation</span> <span class="o">-</span> <span class="n">SUCCESS</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">install</span><span class="p">:</span><span class="n">install</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Installing</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="n">Documents</span><span class="o">/</span><span class="n">workspaces</span><span class="o">/</span>
<span class="n">ipojo</span><span class="o">-</span><span class="n">dev</span><span class="o">/</span><span class="n">UnitaryTest</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">-</span>1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span><span class="p">.</span><span class="n">jar</span>
<span class="n">to</span> <span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="p">.</span><span class="n">m2</span><span class="o">/</span><span class="n">repository</span><span class="o">/</span><span class="n">ipojo</span><span class="o">/</span><span class="n">tests</span><span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">/</span>1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span>
<span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">-</span>1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span><span class="p">.</span><span class="n">jar</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="p">[</span><span class="n">bundle</span><span class="p">:</span><span class="n">install</span><span class="p">]</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Parsing</span> <span class="n">file</span><span class="p">:</span><span class="o">/</span><span class="n">Users</span><span class="o">/</span><span class="n">clement</span><span class="o">/</span><span class="p">.</span><span class="n">m2</span><span class="o">/</span><span class="n">repository</span><span class="o">/</span><span class="n">repository</span><span class="p">.</span><span class="n">xml</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Installing</span> <span class="n">ipojo</span><span class="o">/</span><span class="n">tests</span><span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">/</span>
1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span><span class="o">/</span><span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">felix</span><span class="p">.</span><span class="n">ipojo</span><span class="p">.</span><span class="n">test</span><span class="p">.</span><span class="n">dummy</span><span class="p">.</span><span class="n">component</span><span class="o">-</span>1<span class="p">.</span>1<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span><span class="p">.</span><span class="n">jar</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Writing</span> <span class="n">OBR</span> <span class="n">metadata</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">BUILD</span> <span class="n">SUCCESSFUL</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Total</span> <span class="n">time</span><span class="p">:</span> 6 <span class="n">seconds</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Finished</span> <span class="n">at</span><span class="p">:</span> <span class="n">Tue</span> <span class="n">Oct</span> 21 14<span class="p">:</span>03<span class="p">:</span>03 <span class="n">CEST</span> 2008
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Final</span> <span class="n">Memory</span><span class="p">:</span> 11<span class="n">M</span><span class="o">/</span>25<span class="n">M</span>
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">------------------------------------------------------------------------</span>
</pre></div>
<h2 id="executing-integration-tests">Executing integration tests<a class="headerlink" href="#executing-integration-tests" title="Permanent link">&para;</a></h2>
<p>We recommend to use Pax Exam 3 to test iPOJO components. More details about pax exam 3 are available <a href="https://ops4j1.jira.com/wiki/display/PAXEXAM3/Pax+Exam">here</a>.</p>
</div>
</div>
<hr/>
<div class="container">
<footer id="footer">
<div class="row">
<div class="trademarkFooter span7">
Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
logo are trademarks of The Apache Software Foundation. All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
</div>
<div class="timestamp span3 offset2">
Rev. 1700393 by cziegeler on Tue, 1 Sep 2015 06:04:06 +0000
</div>
</div>
</footer>
</div>
</body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-1518442-4");
pageTracker._trackPageview();
} catch(err) {}
</script>
</html>