我正在为grails应用程序进行单元测试。我已经成功测试了服务和域,但尝试在src/groovy
文件夹中测试类仍然停留。我需要做什么才能访问saveCreateAndCall
方法?
@Artefact("Controller")
@Transactional(readOnly = true)
class BaseController<T> extends RestfulController<T> {
protected def saveCreateAndCall(Object instance, boolean flush = false, Closure c) {
if (instance.save(flush: flush)) {
c.call instance
} else {
errorCreateResponse(instance)
}
}
任何建议或反馈将不胜感激,谢谢
最佳答案
您可以将BaseController
创建为抽象类,并将其放入controllers文件夹中。
abstract class BaseController<T> {
}
通常,我倾向于创建一个具体的 Controller 来测试我的基本抽象,并使用
@TestFor
对 Controller 使用Grails测试功能。或者,您可以注释测试:
@GrailsUnitTestMixin
@Mock(MyDomainClass)
class BaseControllerTest extends Specification {
}
关于unit-testing - 单元测试src/groovy类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428438/