簡體   English   中英

Grails單元測試失敗

[英]Grails Unit Test Failing

因此,我開始學習groovy和grails。 我正在嘗試為控制器編寫單元測試,如下所示:

void testSave() {

  params.productName = 'ProdName'
  params.productBarCode = '123'
  params.productStore = 'ProdStore'
  def response = controller.save()
  assert response.productInstance.productName == 'ProdName'

}

這是控制器的動作

def save() {
        def productInstance = new Product(params)
        if (!productInstance.save(flush: true)) {
            render(view: "create", model: [productInstance: productInstance])
            return
        }

        flash.message = message(code: 'default.created.message', args: [message(code: 'product.label', default: 'Product'), productInstance.id])
        redirect(action: "show", id: productInstance.id)
    }

這是在“ test-app”時拋出的異常

groovy.lang.MissingMethodException: No signature of method: xxx.Product.save() is applicable for argument types: () values: []
Possible solutions: save(), save(boolean), save(java.util.Map), wait(), any(), wait(long)
    at xxx.ProductController.save(ProductController.groovy:59)
    at xxx.ProductControllerTests.testSave(ProductControllerTests.groovy:35)

如果這個問題太幼稚,我感到抱歉。 請幫忙謝謝

在測試類中模擬域實例之前,它無法識別域類上的諸如save()之類的動態方法。

在測試類的類級別上使用@Mock(Product)

暫無
暫無

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

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