3

Grails 2.3.x と統合テストの問題に関する投稿をいくつか見ましたが、まだ私の状況を改善するものは何もないので、以下に進みます。

実際のライブ データベース (Oracle) に対して Grails サービスをテストしたいので、Spock でいくつかの統合テストを作成しました。推奨されるどのアプローチを試しても、同じエラーが発生します。シンプルでばかげたものであることを願っていますが、Grails チームが対処する必要がある問題があるのではないかと心配しています。

これは、私が働いている場所のヒントを削除するために適切にサニタイズされたコードです。

package com.mycompany

import grails.test.spock.IntegrationSpec
import spock.lang.*
import com.mycompany.User

class UserServiceSpec extends IntegrationSpec {

    UserService userService

    def setup() {
    }

    def cleanup() {
    }

    void "find a user by their id"() {
            when:
                User user = userService.find('1234')
        then:
                user.firstName == 'Brian'
    }
}

私が読んだすべてのことから、これは Grails 2.3 以降でそれを行う方法です。一貫して次のエラーが発生します

java.lang.IllegalArgumentException: ServletContext must not be null

どんな助けでも大歓迎です。

ブライアン

4

2 に答える 2

0

スイートに新しい統合テストを追加したときに、この問題に遭遇しました。IntegrationSpecこの場合、統合テストで行う必要があるように拡張しました。

残念ながら、統合スコープに関する他のテストは、単体テスト専用@Mockのおよび@TestForアノテーションを使用して誤って実行されました。他のテストを修正したことで、新しいテストでエラー メッセージが表示される問題が解消されました。ServletContext must not be null

于 2015-11-28T09:00:13.723 に答える