【问题标题】:How can I remove my Test Classes from my ShrinkWrap Archive如何从我的 ShrinkWrap 存档中删除我的测试类
【发布时间】:2014-02-17 21:47:03
【问题描述】:

如何从我的最终存档中筛选出类?

public static JavaArchive unitTestJar() {
    return ShrinkWrap.create( JavaArchive.class )
            .addAsManifestResource( EmptyAsset.INSTANCE, "beans.xml" )
            .addPackages( false, getCorePackages() );
}

public static String[] getCorePackages( String... args ) {
    List<String> strings = Arrays.asList(
            "com.lm.util",
            "com.lm.infrastructure"
    );

    strings.addAll( Arrays.asList( args ) );
    return (String[]) strings.toArray();
}

我看到有一个Filter API,但我似乎找不到任何如何使用它的示例。最终我想我会删除任何*Test* 的东西。这比尝试一次添加一个类更容易。

【问题讨论】:

    标签: java shrinkwrap


    【解决方案1】:

    试试这个:

    ShrinkWrap.create(WebArchive.class)  
              .addPackages(true, Filters.exclude(".*Test.class"), getCorePackages());
    

    【讨论】:

    • @Sam,问题是关于 API 的使用。在这种情况下,我认为没有比可测试示例更好的帮助了。
    • 糟糕,很抱歉 - 我正在查看 StackOverflow 评论部分的答案/问题。不幸的是,它没有向我显示答案的上下文。
    • 此正则表达式.*Test.* 还将排除名称中包含“Test”一词的任何类,这不一定是 JUnit 测试文件。使用.*Test.class 仅排除名称以Test 结尾的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2019-01-18
    • 1970-01-01
    相关资源
    最近更新 更多