如何解决为什么来自Groovy Grape的@Grab注释在脚本中起作用,但在单元测试类中却不起作用
我正在尝试在Groovy中编写CLI命令。我也在尝试采用TDD方法。
我的第一个测试将仅仅是一个以成功代码退出的命令。我作弊了一点,首先在 ssbgt.groovy
中创建了命令@Grab('info.picocli:picocli-groovy:4.5.1')
@picocli.groovy.PicocliScript
import static picocli.CommandLine.*
import groovy.transform.Field
@Option(names= ["-h","--help"],usageHelp= true,description= "Show this help message and exit.")
@Field boolean helpRequested
println "Hello World"
使用$ groovy ssbgt.groovy
可以正常工作。
然后我尝试创建一个测试
import static picocli.CommandLine;
class SimpleTest extends GroovyTestCase {
void testGroovy() {
ssbgt ssbgt = new ssbgt();
//CommandLine cmd = new CommandLine(ssbgt);
//cmd.execute();
assert(1 == 1);
}
}
这无法运行
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup Failed:
C:\Users\aglauser\code\dev-tools\configTransform\SimpleTest.groovy: 1: unable to resolve class picocli
@ line 1,column 1.
@Grab('info.picocli:picocli-groovy:4.5.1')
^
1 error
为什么Grape无法在测试脚本中找到依赖关系,但可以在CLI命令脚本中工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。