2011-03-15 68 views
0

我遇到了Grails網站的「Grails入門」教程問題。它讓我在utils目錄中創建一個自定義編解碼器。我已經創建了編解碼器,它在應用程序中工作,但是當我將編解碼器添加到我的控制器單元測試中時,如本教程所示,它會失敗。這是我得到的消息,當我跑「的Grails測試應用UserController的〜部」:Groovy/Grails單元測試錯誤與自定義編解碼器

「沒有這樣的屬性:SHACodec類:racetrack.UserControllerTests」

我已經使用loadCodec()方法來嘗試包括編解碼器,但得到了相同的消息。

有沒有人有任何建議如何解決這個單元測試問題?如果是導入問題,如果SHACodec.groovy文件位於/ grails-app/utils /目錄中,導入路徑是什麼?

我的教程代碼可在http://arlitt.com/racetrack.zip下載。

回答

1

我就遇到了這個太(通過代碼在Grails的書工作)。

我發現的作品是這樣的:顯式加載編解碼器。您無需將其包含在您的導入中。確保SHACodec.groovy文件位於grails-app/utils目錄中。

以下代碼片段顯示了我是如何做到的。

class UserControllerTests extends ControllerUnitTestCase{ 
    protected void setUp() { 
     super.setUp() 

     loadCodec (org.codehaus.groovy.grails.plugins.codecs.Base64Codec) 
     loadCodec (racetrack.SHACodec) 
    } 
    // ... 
}