如何在Grails中测试非控制器/域/服务类。。
我在sources/Groovy中定义了一个Groovy助手类,我正试图使用Spock对其进行测试。。我试图测试的类有一个对org.springframework.validation.Errors的引用,称为Errors 我定义了一个测试,它调用下面显示的一些代码如何在Grails中测试非控制器/域/服务类。。,grails,testing,spock,Grails,Testing,Spock,我在sources/Groovy中定义了一个Groovy助手类,我正试图使用Spock对其进行测试。。我试图测试的类有一个对org.springframework.validation.Errors的引用,称为Errors 我定义了一个测试,它调用下面显示的一些代码 def validateSuppliedDocument() { // If we create one it's always valid .. if (txn.transactionType.aut
def validateSuppliedDocument() {
// If we create one it's always valid ..
if (txn.transactionType.autoCreateDocument) {
return true
} else {
txn.documentHeader =
DocumentHeader.findByDocumentReferenceCodeAndDocumentType(txn.documentReferenceCode, txn.transactionType.associatedDocumentType)
if (!txn.documentHeader) {
errors.rejectValue('documentReferenceCode', "document.not.found",
[txn.documentReferenceCode].toArray(), 'Document not found')
return false
}
我的问题是由“errors.rejectValue”语句引起的,因为errors实例为null
我怎样才能让grails仅仅为了测试的目的而注入它?错误是一个接口,应该给它什么类
仅为获取信息,如果有帮助,此方法将作为字段上验证程序的一部分调用。。而且在生产中效果很好
谢谢您可以创建一个for errors字段,并假设errors字段是公共的,只需在助手类实例中设置它。它应该与此类似:
import spock.lang.*
import org.springframework.validation.Errors
MyHelperClass myHelper = new MyHelperClass()
myHelper.errors = Mock(Errors)
作为补充问题。。我试图模拟错误。拒绝值方法。。错误。rejectValuedocumentReferenceCode,document.not.found,消息,document not found。。如何定义消息parm?我试过用绳子。。。但它失败了。。有人吗?我是。。。应为错误。rejectValuedocumentReferenceCode,document.not.found,消息为字符串。。