【问题标题】:Testing @RooJavaBean class in Eclipse IDE with JUnit使用 JUnit 在 Eclipse IDE 中测试 @RooJavaBean 类
【发布时间】:2011-02-13 16:51:22
【问题描述】:

我使用 Spring Roo 来生成 getter/setter。 当我更新我的测试类,然后从 Eclipse IDE (STS) 运行 JUnit 测试时,它看不到我所做的更改。 例如:

java.lang.NoSuchMethodError: com.example.web.forms.UserRegistrationForm_Roo_JavaBean.ajc$interMethodDispatch1$com_datefitting_web_forms_UserRegistrationForm_Roo_JavaBean$com_example_web_forms_UserRegistrationForm$setName(Lcom/datefitting/web/forms/UserRegistrationForm;Ljava/lang/String;)V`

在运行roo>perform tests 之后,即使在 IDE 中也一切正常。在项目设置中有AspectJ builder

如何在 IDE 中运行 @RooJavaBean 注释类的 JUnit 测试,而不调用 mvn testroo>perform tests

【问题讨论】:

    标签: eclipse spring-roo junit4 sts-springsourcetoolsuite


    【解决方案1】:

    运行时是否在 STS 中打开 Roo shell?为了根据目标类型的更改重新创建方面,Roo shell 必须在 IDE 中运行。如果它在命令行上运行(从 IDE 外部),STS 将不会意识到对方面进行了更改,并且不会在您的项目中拾取它。

    【讨论】:

    • Roo shell 已打开并在 STS 中运行。 IDE 知道已经进行了更改(语法高亮显示该方法存在)。问题是从 IDE 运行测试时。它接缝该类尚未重新编译。
    • 嗯....有趣。您能否确认,如果您对项目进行完整构建,那么您可以从 STS 内部运行测试?
    • 是的,在调用完整构建(IDE>clean、mvn compile、roo>执行​​组装或测试)之后,我可以从 STS 内部运行测试。
    • 对不起,我的意思是,您所做的只是从 Eclipse 中运行 Project -> Clean。只做这些之后,你可以运行测试了吗?
    • 是(那些单独运行的方法)。
    猜你喜欢
    • 2016-03-30
    • 2020-10-20
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    相关资源
    最近更新 更多