Unit testing 基于内置Grails标记库对Grails自定义标记库进行单元测试
我有一个基于Grails1.3.7的应用程序。具体地说,我需要为基于内置taglib的定制taglib编写一个单元测试 我检查了这方面的解决方案,但所述解决方案在我的情况下不起作用,一些属性没有被适当地模拟 我找到的另一个解决方案是。使用这种方法,我得到了FormTagLib的大多数属性,除了select需要的grailsApplication属性。我得到的实际错误是无法在null对象上调用方法getArtefact 在这种情况下,如何正确编写单元测试 编辑 这是我的和我的。stacktrace上的第45行是从我的自定义标记库调用g.select。我的自定义标记库类似于Unit testing 基于内置Grails标记库对Grails自定义标记库进行单元测试,unit-testing,grails,Unit Testing,Grails,我有一个基于Grails1.3.7的应用程序。具体地说,我需要为基于内置taglib的定制taglib编写一个单元测试 我检查了这方面的解决方案,但所述解决方案在我的情况下不起作用,一些属性没有被适当地模拟 我找到的另一个解决方案是。使用这种方法,我得到了FormTagLib的大多数属性,除了select需要的grailsApplication属性。我得到的实际错误是无法在null对象上调用方法getArtefact 在这种情况下,如何正确编写单元测试 编辑 这是我的和我的。stacktrace
def clientSpecificQueues = {attrs->
def queueList = taskService.getClientSpecificQueues(session.clientName)
def queueLabel = "Some String"
if (queueList.size() > 0){
out << queueLabel
else
out << g.select(name:'queueId', from: queueList, optionKey: 'id', optionValue: 'name')
}
我相信grailsApplication在默认情况下永远不会被嘲笑,它有太多的责任。我会尝试在安装程序中通过如下操作残酷地模仿grailsApplication
tagLib.grailsApplication = [getArtefact: { -> return something suitable }]
你能发布你的测试类和完整的stacktrace吗?我已经用stacktrace和测试类的链接更新了我的问题。看一看。