博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven多module项目中千万不要引入其它模块的单元測试代码
阅读量:6327 次
发布时间:2019-06-22

本文共 991 字,大约阅读时间需要 3 分钟。

本文出处:http://blog.csdn.net/chaijunkun/article/details/35796335,转载请注明。

因为本人不定期会整理相关博文,会对对应内容作出完好。

因此强烈建议在原始出处查看此文。

这两天一直在整理一些旧的代码,将原来的混乱东西升级到maven管理。

这当中也免不了将大项目拆分成若干个module来管理。

然而为了在測试的时候图省事,在各个模块都引用的基础module中src/test/java中建立了一个BaseTest,

package net.csdn.blog.chaijunkun.util;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:applicationContext*.xml")public abstract class BaseTest {	@Test	public abstract void doTest();	}

然后我希望其它module中的全部单元測试类都继承自BaseTest,规范化代码。

然而。在运行測试时出现了NoClassDefFoundError: net/csdn/blog/chaijunkun/util/BaseTest。引入公共单元的src/main/java代码都能正常载入。

经过參考一些Maven的资料得知。其工作机制实际上是包的依赖管理。在规定的标准文件夹下,可以在模块之间引用的代码仅仅能存在于main文件夹下。

而单元測试(test文件夹下的代码)模型是建立在“独立”的思想之上的,目的就是不受其它环境的干扰从而纯粹地验证自身模块的可用性和正确性。

因此单元測试代码之间是不能被其它模块引用的。

将其它模块的单元測试代码解除src/test/java级引用后,项目成功build。

你可能感兴趣的文章
Hello World
查看>>
Spring3全注解配置
查看>>
ThreadLocal真会内存泄露?
查看>>
IntelliJ IDEA
查看>>
低版本mybatis不能用PageHeper插件的时候用这个分页
查看>>
javaweb使用自定义id,快速编码与生成ID
查看>>
[leetcode] Add Two Numbers
查看>>
elasticsearch suggest 的几种使用-completion 的基本 使用
查看>>
04-【MongoDB入门教程】mongo命令行
查看>>
Hadoop HA元数据备份
查看>>
字符串与整数之间的转换
查看>>
断点传输HTTP和URL协议
查看>>
redis 数据类型详解 以及 redis适用场景场合
查看>>
mysql服务器的主从配置
查看>>
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>
SaltStack配置salt-api
查看>>
各种情况下block的类型
查看>>
ThinkPHP 3.2.x 集成极光推送指北
查看>>
MYSQL 表情评论存储(emoji)
查看>>