簡體   English   中英

自定義編解碼器的Groovy / Grails單元測試錯誤

[英]Groovy/Grails Unit Test Error with custom codec

我在Grails網站上遇到了“ Grails入門”教程的問題。 它讓我在utils目錄中創建自定義編解碼器。 我已經創建了編解碼器,並且可以在應用程序中使用,但是,如本教程所述,當我將編解碼器添加到控制器單元測試中時,它會失敗。 這是我運行“ grails test-app UserController -unit”時收到的消息:

“沒有此類屬性:類:racetrack.UserControllerTests的SHACodec”

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

是否有人對如何解決此單元測試問題有任何建議? 如果是導入問題,如果我的SHACodec.groovy文件位於/ grails-app / utils /中,則導入路徑為什么?

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

我也遇到了這個問題(通過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)
    }
    // ...
}

編解碼器不會自動加載,您需要加載它們。

請參閱此帖子以獲取更多詳細信息: http : //kousenit.wordpress.com/2010/02/24/using-a-codec-in-a-grails-unit-test/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM