不是吧哥们你也不写单测?gradle项目使用lombok能正常运行,怎么单测就报错了?
📚背景
程序员小张写好了一个工具类,为了保证功能的正确和健壮性,他就开始创建了测试类,进行工具类方法的编码。当他还没写完的时候,就已经迫不及待的 想点run test呢,恨不得马上开始见证奇迹的时刻。终于,他齐活了,你还别说当点run test的时候他的内心是激动的,甚至有点兴奋的发抖。结果你猜 怎么着,嘿,好家伙,报错了!提示“ 错误: 程序包lombok不存在” 、“错误: 找不到符号”。小张心想这不科学啊,我项目跑着好好的,怎么就单测报错了, 于是他便开始检查 ‘build.gradle’了。一看,好像真的发现了问题所在。
核心配置如下:(小伙伴们你发现小张没办法正常运行单测的原因了嘛)
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
annotationProcessor 'org.projectlombok:lombok:1.18.38'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
}
📢 文末还准备了idea快速升级maven版本插件分享,一定要看到最后!
💡 正文
- 第一步,看到只有compileOnly的作用域,于是小张新增了配置,如下:
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
annotationProcessor 'org.projectlombok:lombok:1.18.38'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
testCompileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
}
- 第二步,开始信誓旦旦的执行起了单测,等待ing... 开始运行了,结果出来了,好家伙还是报错!!!
- 第三步,继续回到配置处,修改作用域为implementation。嘿,我就不信邪了,我用最强悍的就不信不行😕
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
annotationProcessor 'org.projectlombok:lombok:1.18.38'
implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
}
- 第四步,emmmmm... 重复第二步的步骤,再次等待执行结果。妈耶,还是报错,真的见鬼!!
- 第五步,不死嗑了,俺去上网找答案~ 再网上搜索了一番之后未果,又问了下AI,结果都是几乎一样的。小张内心是崩溃的,。。。不是吧哥们,大家都不写单测?
- 第六步,开始寻觅亲友圈的帮助,他想起来了一次聚会上他听到小A他们也在使用gradle进行开发。然后他便兴奋的联系同学小A寻求帮助,结果小A说,lombok用是用到了, 但项目里没有单测。不是吧哥们你也不写单测?然后又开始联系起了小B...
- 第七步,小张一番询问未果后,只能再次硬着头皮上网搜答案了...终于,他在茫茫大海中找到了一篇能用的,正确的配置如下:(分享还是很有意义的,分享的多了也就好搜索的到了,不然都不知道要踩多久的坑!!!)
annotationProcessor 'org.projectlombok:lombok:1.18.38'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
testCompileOnly 'org.projectlombok:lombok:1.18.38'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.38'
- 第八步,小张开始了他的单测和代码完善之旅...
🌟总结
gradle项目如何正确引入lombok及支持test单测?
dependencies 配置如下:
dependencies {
annotationProcessor 'org.projectlombok:lombok:1.18.38'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.38'
testCompileOnly 'org.projectlombok:lombok:1.18.38'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.38'
}
📌 注意事项:
如何禁用Lombok生成的@Generated注解?
项目根目录下创建lombok.config文件,新增配置如下:
lombok.addLombokGeneratedAnnotation=false
插件分享
框架开发大佬、中台开发大佬快来看~ Maven快速调整项目版本再也不用手敲命令啦,小白也能快速调整!!!
结尾
以上就是本篇文章的全部内容啦,感谢你的阅读和观看。如果你觉得这篇文章有所帮助,欢迎“点赞”或分享给需要的小伙伴~
本文使用 markdown.com.cn 排版