文档章节

使用pax.exam对osgi(基于maven)进行集成测试

longload
 longload
发布于 2016/07/12 17:48
字数 334
阅读 71
收藏 0

xml配置文件

就下列依赖加入xml的配置文件

<!-- test start -->
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.10</version>
   <scope>test</scope>
  </dependency>

  <dependency>
   <groupId>org.ops4j.pax.exam</groupId>
   <artifactId>pax-exam-container-native</artifactId>
   <version>3.5.0</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.ops4j.pax.exam</groupId>
   <artifactId>pax-exam-junit4</artifactId>
   <version>3.5.0</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.ops4j.pax.exam</groupId>
   <artifactId>pax-exam-link-mvn</artifactId>
   <version>3.5.0</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.ops4j.pax.url</groupId>
   <artifactId>pax-url-aether</artifactId>
   <version>2.0.0</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.framework</artifactId>
   <version>3.2.2</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-core</artifactId>
   <version>1.1.2</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version>1.1.2</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.ops4j.pax.exam</groupId>
   <artifactId>pax-exam-inject</artifactId>
   <version>3.5.0</version>
  </dependency>

  <!-- test end -->

 

  <dependency>
   <groupId>org.ow2.spec.ee</groupId>
   <artifactId>ow2-atinject-1.0-spec</artifactId>
   <version>1.0.12</version>
   <scope>test</scope>
  </dependency>
 </dependencies>

 

java 调用实例

/**
* longload
* 2014年5月20日 上午10:25:08
* version 1.0
*/
package com.sj.workflow.persistence.test;
import static org.junit.Assert.*;
import static org.ops4j.pax.exam.CoreOptions.junitBundles;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
import static org.ops4j.pax.exam.CoreOptions.options;
import static org.ops4j.pax.exam.CoreOptions.systemProperty;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import javax.inject.Inject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.PaxExam;
import com.sj.common.vars.CommonVars;
import com.sj.workflow.persistence.api.WorkflowPersistence;

@RunWith(PaxExam.class)
public class WorkflowPersistenceTest {
     //@Inject
     //BundleContext bc;
     @Inject
    private WorkflowPersistence workflowPersistence;
     Logger logger= Logger.getLogger(this.getClass().getName());
    @Configuration
    public Option[] config() {

 

        return options(
           // mavenBundle("com.sj", "com.sj.mongodb.api", "0.0.1"),
           // 从网络下载
           //bundle("http://www.example.com/repository/foo-1.2.3.jar"),
                systemProperty("pax.exam.logging").value("debug"),
               
                mavenBundle("org.mongodb", "mongo-java-driver").version("2.11.4"),
                // common
                mavenBundle("com.sj", "com.sj.common.vars").version("0.0.1"),
                mavenBundle("com.sj", "com.sj.common.utils").version("0.0.1"),
                // api
                mavenBundle("com.sj", "com.sj.mongodb.api").version("0.0.1"),
                mavenBundle("com.sj","com.sj.workflow.persistence.api").version("0.0.1"),
                // impl
                mavenBundle("com.sj", "com.sj.mongodb.impl").version("0.0.1"),
                mavenBundle("com.sj", "com.sj.workflow.persistence").version("0.0.1"),
                junitBundles()

            );

    }

 

   //@Test
    public void revisionWFDefinitions() {
    try {
     logger.info("----------");
  workflowPersistence.revisionWFDefinitions("5379bf04d09bd5136c74d40f");
 } catch (Exception e) {
  
  e.printStackTrace();
 }
    }

}

© 著作权归作者所有

longload
粉丝 3
博文 66
码字总数 104702
作品 0
成都
程序员
私信 提问
Maven Cookbook (PDF分享)

该图书用简单易懂的方式介绍如何使用 Maven 开发 OSGi 组件等一些常见应用开发。 Maven Cookbook 内容包括: 使用 Maven 开发基于 OSGi 应用 在 Maven 中集成 Groovy Scala 和 Maven Ant 和 ...

红薯
2011/11/08
2.8K
12
OSGi与Maven、Eclipse PlugIn的区别

osgi 的框架 apache felix equinox osgi的bundle 、 maven 的 module 、 Eclipse 的 PlugIn 的区别。。。。 OSGi与Maven Maven也具有模块化系统的特征;但是它只是一个编译时工具,而不是运行...

owensliu
2014/11/04
414
0
关于《OSGi实战》这本书

OSGi规范编写规整、内容翔实,若需了解OSGi技术细节,OSGi规范将是一个很好的选择。但在阅读该规范的过程中,你可能会发现它面向的是该规范的实现者而非使用者。本书的创作初衷就是打造一本面...

生气的散人
2012/12/11
3.1K
6
OSGi 4.2 规范正式发布

OSGi 联盟 前天 发布了 OSGi 4.2 规范。虽然早期草稿已经早己可用,但这是最终规范发布版本。 一些 OSGi 实现,例如 Equinox 3.5 与 Felix 2.0 早已针对 OSGi 4.2 规范做了一些兼容实现,但当...

红薯
2009/09/26
2.3K
0
分享一个查看java源代码的网站grepcode

http://grepcode.com/faq#search-q What can I search for on GrepCode ? GrepCode can be used to find: Java projects Java classes, interfaces, enums, annotations (Java Types) Java m......

asdfsx
2011/03/18
3.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

009、Linux 文件权限管理

Linux 文件权限管理

北岩
13分钟前
3
0
Kafka学习笔记(三)—Kafka消息丢失,消费重复

一、数据传输事务的定义 最多一次(at most once):消息不会被重复发送,但是可能丢失 最少一次 (at least once)消息可能会被重复发送,但是不会漏发送 精确一次(exactly once) 不会少发...

Algoric
17分钟前
4
0
ajax设置请求头部时遇到的问题

w3c规定 当请求的header包含以下字段时 会被zhong'zhi Accept-Charset Accept-Encoding Connection Content-Length Cookie Cookie2 Content-Transfer-Encoding Date Expect Host Keep-Alive......

Bing309
41分钟前
4
0
总结:Linux

一、目录 目录 作用 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc /home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,...

浮躁的码农
44分钟前
4
0
什么是 happens-before 原则?

Java 中 happens-before 原则,是在 JSR-133 中提出的。 原文摘要: • Each action in a thread happens-before every subsequent action in that thread. • An unlock on a monitor happe......

ConstXiong
56分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部