2011-06-08 17 views
2

我寫ScalaTest FeatureSpec對一個Wicket應用一個VAL。我有一個wicketTester價值,我不斷不必調用上,即方法:自動代表團在Scala的方法

scenario("No username and password") { 
    val wicketTester = new WicketTester(app) 
    given("user visits Admin home page") 
    wicketTester.startPage(classOf[AdminHomePage]) 

    then("signin page is displayed") 
    val login = wicketTester.newFormTester("signInPanel:signInForm") 
    wicketTester.assertRenderedPage(classOf[SignInPage]) 
    ... 
    when("correct username and password are entered") 
    ... 
    then("no login and error is displayed") 
    wicketTester.assertRenderedPage(classOf[SignInPage]) 
    wicketTester.assertErrorMessages(Array("Field 'password' is required.")) 

現在,所有這些裁判給wicketTester是讓我下來,所以我想將其刪除,瞄準DSL必殺技...

scenario("No username and password") { 
    val wicketTester = new WicketTester(app) 
    given("user visits Admin home page") 
    startPage(classOf[AdminHomePage]) 

    then("signin page is displayed") 
    val login = wicketTester.newFormTester("signInPanel:signInForm") 
    assertRenderedPage(classOf[SignInPage])... 

有沒有什麼辦法讓本地的方法出現,就好像它們是我班上的方法一樣?

回答

7

你嘗試導入?

scenario("No username and password") { 
    val wicketTester = new WicketTester(app) 
    import wicketTester._ // import wicketTester's members into scope 
    given("user visits Admin home page") 
    startPage(classOf[AdminHomePage]) 

    then("signin page is displayed") 
    val login = wicketTester.newFormTester("signInPanel:signInForm") 
    assertRenderedPage(classOf[SignInPage])... 
} 
+0

您的美麗!我看到的地方最近,做,認爲這會派上用場,但很明顯,閱讀是不夠的,內化 - 我實際上是一聲我的頭編譯器! – 2011-06-08 18:50:56