使用 GroovyShell 加载的调试脚本(在 eclipse 中)

MSh*_*MSh 4 eclipse debugging groovy

我正在使用 eclipse 和 groovy 插件。我正在构建一个测试工具来调试和测试 groovy 脚本。脚本非常简单但很长,其中大部分只是 if/else/return。我发现我可以使用 GroovyShell 和 Bindings 调用它们来传递值。

问题是,虽然我可以调用脚本并获得很好的结果,但我无法使用调试器介入其中。这些脚本中的断点不是活动的。

有没有办法调试脚本?也许我应该使用 GroovyShell 以外的其他东西?我真的不想通过将脚本包装到函数中来修改脚本,然后从我的测试类中调用这些函数。

这就是我使用 Binding 和 GroovyShell 的方式:

            def binding = new Binding();
            binding.lineList = [list1];
            binding.count = 5;

            def shell = new GroovyShell(binding);
            def result = shell.evaluate(new File("src/Rules/checkLimit.groovy"));
Run Code Online (Sandbox Code Playgroud)

And*_*erg 6

我猜你的脚本不在你项目的类路径中。您需要将它们添加到类路径中,并最好确保包语句正确(或确保它们位于该源文件夹的默认目录中)。

您可能还想将此源文件夹指定为脚本文件夹。这将确保您的脚本不会被编译到输出文件夹。您可以通过 Preferences -> Groovy -> Compiler 执行此操作。单击复选框以启用脚本文件夹,然后创建正则表达式以指定文件夹。您还可以指定是否应按原样将脚本复制到输出文件夹。