2

我有一个使用 Groovy/Grails Tool Suite 版本 3.0.0M3 创建的 Grails 项目,它在带有 JDK 1.7 的 Windows 7 上运行。Grails 版本是 2.0.4。

有一个单元测试类运行良好,直到我通过更改方法名称和添加新方法来重构被测类。被测类位于 src/java 下的一个包中。单元测试类已更新以反映重构更改,但现在当 grails test-app 执行时,单元测试报告编译错误,指出它“找不到符号”所有这些错误都与重命名的方法或新方法有关我补充说。请注意,工具套件不会在项目浏览器窗格中显示任何错误标记。

我已经从命令行和 Tool Suite 以及 Tool Suite project->clean 命令运行 grails clean。我的 BuildConfig.groovy 为 grails.project.class.dir 设置了正确的目录,并且我验证了该位置中的类文件在编译后正在更新。这是报告的错误消息之一

XMLUtilTest.java:73:错误:找不到符号

 Package pkg = u.unmarshalPackage(packageRefXml);
                ^

符号:方法 unmarshalPackage(String) 位置:XMLUtil 类型的变量 u

4

1 回答 1

0

尝试以下操作:

  1. 在您的项目上运行刷新依赖项。(选择项目时 Alt+GR)再次运行测试。在职的?
  2. 尝试在命令行上运行 test-app。它有效吗?
  3. 您也可以尝试右键单击测试 Run As -> JUnit test

我的猜测是 STS 内部的 grails 正在使用一些旧类。Eclipse 项目将target-eclipse/classes用于其输出文件夹,但 Grails 默认情况下将target/classes用于其输出文件夹。

我会在项目内部的命令行上为调用的文件执行 grep,XMLUtil*.class您可能会找到重复项所在的位置。

于 2012-08-03T17:57:53.260 回答