当前位置:  开发笔记 > 编程语言 > 正文

在Maven中共享测试代码

如何解决《在Maven中共享测试代码》经验,为你挑选了3个好方法。

如何依赖Maven中另一个模块的测试代码?

例如,我有2个模块:

基础

主要

我想在Main中使用一个测试用例来扩展Base中的基本测试类.这可能吗?

更新:找到一个可接受的答案,其中包括创建一个测试罐.



1> Ben..:

我建议使用type而不是分类器(另请参阅:classifier).它更明确地告诉Maven你在做什么(我发现m2eclipse和q4e都更喜欢它).


  com.myco.app
  foo
  1.0-SNAPSHOT
  test-jar
  test


还记得将test-jar添加到maven-jar-plugin配置:https://maven.apache.org/guides/mini/guide-attached-tests.html
我第一次看到这个答案时感到困惑......这实际上是因为它本身没有意义,你应该首先阅读以下答案:http://stackoverflow.com/questions/174560/sharing-test-code-in -maven#174670
是否应该为com.myco.app专门为test-jar类型设置一个单独的依赖项?

2> flicken..:

感谢基本模块建议.但是,我宁愿不为此目的创建一个新模块.

在Surefire Maven文档和博客中找到了可接受的答案.另请参见" 如何创建包含测试类的jar ".

这将src/test/java使用jar插件创建jar代码文件,以便具有测试的模块可以共享代码.


  
    
     
       org.apache.maven.plugins
       maven-jar-plugin
       2.4
       
         
           
             test-jar
           
         
       
     
    
  

为了使用上面创建的附加测试JAR,您只需使用指定的测试分类器指定对主工件的依赖关系:


  ...
  
    
      com.myco.app
      foo
      1.0-SNAPSHOT
      test-jar
      test
    
  
  ...
 


请注意,在依赖项中使用 tests test-jar .这是Maven http://jira.codehaus.org/browse/MNG-2045中的一个问题,也是IntelliJ中一个不相关的问题http://youtrack.jetbrains.net/issue/IDEA-54254

3> sal..:

我们通过使用测试代码作为src/main/java创建maven项目并向项目添加以下依赖项来解决这个问题:

    
        foo
        test-base
        1
        test
    

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有