首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pax-exam:测试是在包中运行的吗?

pax-exam:测试是在包中运行的吗?
EN

Stack Overflow用户
提问于 2014-11-15 22:08:13
回答 2查看 555关注 0票数 0

我有一个Maven项目,它构建了一个非常简单的OSGi包。没有激活器;它唯一的工作就是向OSGi项目交付一些共享代码。我想测试一下,我已经正确地设置和嵌入了所有的依赖项。

因此,我在这种情况下添加了pax- to。

我将在本文的末尾粘贴一个单元测试shell。我的@Test方法实际上是在一个包中运行的吗?这个包又依赖于我项目中构建的包?

代码语言:javascript
复制
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
public class CommonBundleTest {

    @Configuration
    public Option[] config() {

        return options(
                // this is the current project's result artifact
                mavenBundle("com.basistech.osgi", "rosette-common-java-lib"),
                junitBundles()
        );
    }

    @Test
    public void atest() {

    }
}
EN

回答 2

Stack Overflow用户

发布于 2014-11-16 02:50:51

测试是否在包中运行:是的,Pax Exam为单元测试本身创建了一个TinyBundle。但它不会在config方法中声明的任何包上添加额外的依赖项。

如果您希望确保导入这些包,可以更改构建TinyBundle的方式。

代码语言:javascript
复制
@ProbeBuilder
public TestProbeBuilder probeConfiguration(TestProbeBuilder probe) {
    // makes sure the generated Test-Bundle contains this import!
    probe.setHeader(Constants.IMPORT_PACKAGE, "*,your.extra.package");
    return probe;
}
票数 2
EN

Stack Overflow用户

发布于 2014-11-16 21:38:49

由Pax Exam动态创建的所谓探测包包含包含测试类的src/test/java文件夹中的所有类。探测包清单具有Dynamic-ImportPackage: *头,因此通常不需要通过探测构建器添加显式导入。

测试所需的任何包都必须由@COnfiguration方法中的配置选项提供。

如果您希望在包未解析时立即测试失败,可以设置一个config属性:

代码语言:javascript
复制
pax.exam.osgi.unresolved.fail = true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26946676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档