2017-07-14 7 views
0

私はgroovyの新機能です。私はgroovyクラスのテストケースを作成しようとしていますが、どこから始めるべきかわからないので、できません。Groovyユニットのテストケース

私は以下のようなグルーヴィークラスを持っています。誰でも私にどのようにテストクラスを見せるべきか教えてください。そして同じチュートリアルがあれば?

Googleから情報を見つけようとしましたが、多くのヘルプが見つかりませんでした。おかげ

class AddressController { 

    def index = { redirect(action:list,params:params) } 

    static allowedMethods = [delete:'POST', save:'POST', update:'POST'] 

    def list = { 
     params.max = Math.min(params.max ? params.max.toInteger() : 10, 100) 
     [ addressInstanceList: Address.list(params), addressInstanceTotal: Address.count() ] 
    } 

    def show = { 
     def addressInstance = Address.get(params.id) 

     if(!addressInstance) { 
      flash.message = "Address not found with id ${params.id}" 
      redirect(action:list) 
     } 
     else { return [ addressInstance : addressInstance ] } 
    } 

    def update = { 
     def addressInstance = Address.get(params.id) 
     if(addressInstance) { 
      if(params.version) { 
       def version = params.version.toLong() 
       if(addressInstance.version > version) { 

        addressInstance.errors.rejectValue("version", "address.optimistic.locking.failure", "Another user has updated this Address while you were editing.") 
        render(view:'edit',model:[addressInstance:addressInstance]) 
        return 
       } 
      } 
      addressInstance.properties = params 
      if(!addressInstance.hasErrors() && addressInstance.save()) { 
       flash.message = "Address ${params.id} updated" 
       redirect(action:show,id:addressInstance.id) 
      } 
      else { 
       render(view:'edit',model:[addressInstance:addressInstance]) 
      } 
     } 
     else { 
      flash.message = "Address not found with id ${params.id}" 
      redirect(action:list) 
     } 
    } 
} 

答えて

1

あなたは私たちに示されているコードは、Grailsのフレームワークからコントローラクラスです。私はこれが2.xバージョン(またはそれ以上)であると仮定します。 application.propertiesファイルのapp.grails.versionプロパティで確認できます。

Grailsフレームワークの実際のバージョンが分かったら、ユニットテストに関する公式ドキュメントを読むことをお勧めします(http://docs.grails.org/2.5.6/guide/testing.html#unitTesting - バージョン2.5.6のユニットテストについての章です)。

コントローラは、通常のCRUD(Create-Read-Update-Deleteの頭字語)操作を表します。何のアドレスが少なくとも1つのアドレスは、単一のアドレス

  • 非更新アドレス
  • の作成を読ん
  • が存在するとき、すべてのアドレスをリスト
  • 存在しない場合に、すべてのアドレスをリスト

    • :あなたはのようにテストすることができ、複数の例があります。存在するアドレス
    • 既存アドレスの更新
    • 削除アドレスなど

    Grailsでコントローラをテストするいくつかの例があります。「ユニットテストコントローラ」の章を熟読してください。 GORMドメインオブジェクトを使用するユニットテストコントローラを使用する場合は、すべてのドメインオブジェクトを模擬して、@Mock([YourDomainClassName])アノテーションをテストケースクラスに追加する必要があります(詳しくは、http://docs.grails.org/2.5.6/guide/testing.html#unitTestingDomainsを参照してください)

  • 関連する問題