grails测试应用程序单元测试类找不到被测类的最新版本(找不到符号)

grails测试应用程序单元测试类找不到被测类的最新版本(找不到符号),grails,sts-springsourcetoolsuite,Grails,Sts Springsourcetoolsuite,我有一个Grails项目,它是我使用Groovy/Grails工具套件版本3.0.0M3创建的,该版本运行在Windows7和JDK1.7上。Grails版本是2.0.4 有一个单元测试类运行良好,直到我通过更改方法名和添加新方法重构了被测试的类。被测试的类驻留在src/java下的包中。单元测试类已更新以反映重构更改,但现在当执行grails test app时,单元测试报告编译错误,声明它“找不到符号”。所有这些错误都与重命名的方法或我添加的新方法有关。请注意,该工具套件在project e

我有一个Grails项目,它是我使用Groovy/Grails工具套件版本3.0.0M3创建的,该版本运行在Windows7和JDK1.7上。Grails版本是2.0.4

有一个单元测试类运行良好,直到我通过更改方法名和添加新方法重构了被测试的类。被测试的类驻留在src/java下的包中。单元测试类已更新以反映重构更改,但现在当执行grails test app时,单元测试报告编译错误,声明它“找不到符号”。所有这些错误都与重命名的方法或我添加的新方法有关。请注意,该工具套件在project explorer窗格中不显示任何错误标记

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

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

 Package pkg = u.unmarshalPackage(packageRefXml);
                ^
符号:方法解组包(字符串) 位置:XMLUtil类型的变量u

请尝试以下操作:

  • 对项目运行“刷新依赖项”。(选择项目时Alt+G R)再次运行测试。工作
  • 尝试在命令行上运行测试应用程序。它有用吗
  • 您还可以尝试右键单击测试runas->junittest
  • 我猜STS中的grails使用了一些旧类。Eclipse项目将使用
    target Eclipse/classes
    作为其输出文件夹,但Grails默认情况下将使用
    target/classes
    作为其输出文件夹

    我会在项目内部的命令行上对名为
    XMLUtil*.class
    的文件执行grep操作,您可能会发现重复文件的位置。

    请尝试以下操作:

  • 对项目运行“刷新依赖项”。(选择项目时Alt+G R)再次运行测试。工作
  • 尝试在命令行上运行测试应用程序。它有用吗
  • 您还可以尝试右键单击测试runas->junittest
  • 我猜STS中的grails使用了一些旧类。Eclipse项目将使用
    target Eclipse/classes
    作为其输出文件夹,但Grails默认情况下将使用
    target/classes
    作为其输出文件夹


    我会在项目内部的命令行上对名为
    XMLUtil*.class
    的文件执行grep,您可能会发现重复项所在。

    第1项和第2项不起作用,但第3项起作用。你建议使用grep解决了我的问题。昨天,我一直在使用Win7搜索,它很好地找到了所有的类文件,我通过删除目标/类和目标eclipse/类来清理这些文件。根据您的建议,我取出了值得信赖的cygwin grep,它在我的lib目录中的一个旧jar中发现了有问题的类。我杀了那个罐子,现在测试开始了。很好。我没想到会这样。:)项目1和2不起作用,但项目3起作用。你建议使用grep解决了我的问题。昨天,我一直在使用Win7搜索,它很好地找到了所有的类文件,我通过删除目标/类和目标eclipse/类来清理这些文件。根据您的建议,我取出了值得信赖的cygwin grep,它在我的lib目录中的一个旧jar中发现了有问题的类。我杀了那个罐子,现在测试开始了。很好。我没想到会这样。:)