unit-testing - 将模拟需求语句放在Grails测试中的正确位置是什么?

标签 unit-testing grails spock

我正在使用graock并使用Spock框架编写测试。
我试图找出在测试中放置模拟代码的正确部分(给定的位置,然后设置...)。

例如,以下正确吗?

void "test Something"() {
    given:
       //build mock and add demand statements...

    when:
       //Call method
}

最佳答案

除非我有复杂的模拟,在这种情况下我会将它们放在给定的区域中,除非我将它们放在给定的区域中,否则它们会在两个地方都起作用。

void "test Something"() {
    given:
       def myService = Mock(MyService)
       mainThing.myService = myService

    when:
       mainThing.doCall()

    then:
       1 * myService.call() >> 'value'
}

关于unit-testing - 将模拟需求语句放在Grails测试中的正确位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26386646/

相关文章:

angularjs - Jest 和混合 Angular/AngularJS 应用程序

java - Mockito 的 argumentCaptor 示例

javascript - stub 请求在多个测试函数中共享

mysql - 找不到工件 mysql :mysql-connector-java:

grails - 在 Grails 中对属性进行 HTML 编码时如何正确验证域类?

grails - 具有相同标识符的不同对象

java - Spock 认为测试类的内部枚举应该是 Spec 的属性

grails - 在运行测试用例时,为属性指定了不存在的映射属性[none]

grails - 测试受 Spring 安全保护的页面

unit-testing - 读取配置文件的单元测试函数