unit-testing - 单元测试src/groovy类文件

标签 unit-testing grails spock

我正在为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/

相关文章:

unit-testing - SBT 中的基本测试功能

grails - 在2.0.0M1中安装Grails Spock插件

spock - 使用 Spock 进行演示

php - 如何重置对 PHPUnit 模拟对象的期望

python - 未知的密码哈希算法。 PASSWORD_HASHERS 设置 - 使用工厂男孩

performance - Grails文件上传:Tomcat内存耗尽

grails - Grails在其他数据源中创建域对象

json - Grails 在第二个数据库上运行查询 postgresql 以生成原始 JSON

java - Spock测试方法中无法加载Spring上下文

javascript - 寻找 Javascript 单元测试框架