【问题标题】:Grails controller test - member variable not recognizedGrails控制器测试-无法识别成员变量
【发布时间】:2012-11-12 23:27:27
【问题描述】:

Grails (2.1.1., JUnit 4.1, IntelliJ) 控制器测试。为什么顶部 sn-p 中 testHandleLogin 的 uc 不可见?

这个在testHandleLogin中断言失败,因为uc为null

@TestFor(UserController)
class UserControllerTests {

    UserController uc
    //def UserController uc > same result, fails 

    void setUp() {

        uc = new UserController()
    }

    void testHandleLogin() {

        assert uc
    }

这行得通,即断言成功

@TestFor(UserController)
class UserControllerTests {

    void setUp() {}

    void testHandleLogin() {

        def uc = new UserController()
        assert uc
    }

【问题讨论】:

  • 附带说明:请注意,您也应该始终调用 super.setUp()。

标签: unit-testing grails junit intellij-idea


【解决方案1】:

当然,在提出问题五分钟后我找到了解决方案:

在 setUp() 方法中添加“@Before”就可以了。

【讨论】:

  • 在这种情况下,您还需要将@Test 添加到测试用例@Test void handleLogin()。那么您就不会将 junit 版本 3 样式与 junit 4 混合。您还可以从每个用 @Test 注释的案例的开头删除单词 test,因为它将不再使用反射来识别测试用例。
猜你喜欢
  • 2022-08-17
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2018-11-11
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多