Testing 如何将目标jar添加为同一项目的测试资源?

Testing 如何将目标jar添加为同一项目的测试资源?,testing,compiler-construction,maven,solr,dependency-management,Testing,Compiler Construction,Maven,Solr,Dependency Management,我正在开发一个应用程序,并使用我将一个testSOLR\u HOMEdir放置在test/resources下的/conf/和/lib。现在,框架初始化一个SolrCore,并从/lib加载我的插件。将插件的jar输出到/lib,这不是一个问题,但问题是插件还不可用,因为它仍然需要通过测试(鸡和蛋) 你建议如何解决这个问题?我看到这些选择: 为测试创建另一个依赖于插件的项目,并在其中运行测试。很简单,但是我如何确保每次构建插件时,也构建了另一个项目的测试呢?每个构建中的自动化测试的要点是拥有一个

我正在开发一个应用程序,并使用我将一个test
SOLR\u HOME
dir放置在
test/resources
下的
/conf/
/lib
。现在,框架初始化一个
SolrCore
,并从
/lib
加载我的插件。将插件的jar输出到
/lib
,这不是一个问题,但问题是插件还不可用,因为它仍然需要通过测试(鸡和蛋)

你建议如何解决这个问题?我看到这些选择:

  • 为测试创建另一个依赖于插件的项目,并在其中运行测试。很简单,但是我如何确保每次构建插件时,也构建了另一个项目的测试呢?每个构建中的自动化测试的要点是拥有一个新的插件jar,它会破坏测试

  • 在I中,在2个阶段构建项目,在第一个I
    中,仅编译注释处理器,而在另一个阶段,我编译依赖于早期阶段编译的注释处理器的测试


  • 我赞成2,因为复制粘贴配置似乎不是一个坏选项,并且使它看起来不像可能的那么复杂。我不记得我是否在这里问过这件事-你有什么建议吗?还有其他的案例研究/工作代码吗?

    还有第三个。最有可能的最佳解决方案~什么都不做! 我的印象是Solr Testframework需要从
    /lib
    加载我的插件,但显然它不需要,它可以从
    测试类
    加载插件,这一切都是独立完成的