在TagLib单元测试中模拟UrlMapping

时间:2015-09-17 18:18:38

标签: unit-testing grails spock

我使用Grails 2.3.11,并拥有自定义的taglibAuditTagLib),后者又会调用createLink()函数。

现在我正在为AuditTagLib编写单元测试,但是(obviouse)来自createLink()的结果网址取决于UrlMapping中的条目。

我认为单元测试不会从UrlMapping conf获取,而是使用一些空/默认值,这会从我的运行应用中提供createLink()的不同结果网址

如何注入/设置模拟UrlMapping,以便createLink()呈现与我正在运行的grails应用中相同的网址?

1 个答案:

答案 0 :(得分:0)

可以通过添加到单元测试中来解决: grailsApplication.addArtefact(UrlMappingsArtefactHandler.TYPE, new GroovyClassLoader(getClass().classLoader).parseClass(new File("grails-app/conf/UrlMappings.groovy")))

价: https://jira.grails.org/browse/GRAILS-9037