解决Maven项目pom.xml导入了Junit包还是用不了@Test注解问题
作者:来福L
在Maven项目中,如果在非test目录下使用@Test注解,可能会因为pom.xml中<scope>test</scope>的设置而无法使用,正确做法是将测试代码放在src/test/java目录下,或去除<scope>test</scope>限制,这样可以确保Junit依赖正确加载并应用于适当的代码部分
Maven项目pom.xml导入了Junit包还是用不了@Test注解
在创建的maven项目中,pom文件明明已经导入了Junit的依赖了,但还是用不了@Test注解。
添加依赖没问题:
但@Test注解在提示中找不到
原来是我在添加依赖时还引入了<scope>标签,它主要是用来管理依赖的部署。
目前<scope>可以使用的值有5个:
compile
: 缺省值,适用于所有阶段,会随着项目一起发布provided
:类似于compile,期望jdk,容器或使用者会提供这个依赖,如servlet.jar。runtime
:只在运行时使用,如JDBC驱动,适用于运行和测试阶段。test
:只在测试时使用,用于编译和运行代码,不会随项目发布。system
: 类似于provided,需要显式提供包含依赖的jar包,Maven不会在Repository中查找它。
<scope>test</scope>部署了Junit的可用范围,只能在src下的test文件夹下才能使用,而我是在工具类写好之后直接就在工具类中编写测试代码,所以用不了。
解决
1.去掉<scope>test</scope>配置就可以了。
2.当然可以为了规范代码,将测试方法写到test文件夹下的java类中。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。