搜狗网站优化软件网站与手机app是一体吗
news/
2025/10/4 11:13:27/
文章来源:
搜狗网站优化软件,网站与手机app是一体吗,踏云wordpress主题,怎样查找网站域名归属spock 集成测试在Grails单元测试中#xff0c;可以轻松使用Grails随附的Spock框架来模拟或存根协作者#xff08;例如服务#xff09;。 “ 测试”一章对模拟协作者#xff0c; doWithSpring / doWithConfig回调方法#xff0c;在测试中模拟bean的FreshRuntime批注进行了… spock 集成测试 在Grails单元测试中可以轻松使用Grails随附的Spock框架来模拟或存根协作者例如服务。 “ 测试”一章对模拟协作者 doWithSpring / doWithConfig回调方法在测试中模拟bean的FreshRuntime批注进行了一些解释但是它们主要用于单元测试 。 在集成测试中模拟bean怎么样 例 如果我们有控制器怎么办 class AnimalRegistrationController {AnimalRegistrationService animalRegistrationServicedef arrival(ArrivalCommand arrival) {animalRegistrationService.registerArrival(arrival).map { ArrivalErrorMessage aem -renderErrors(aem)}.orElse {render status: 200}}
} 哪个调用了服务哪个调用了存储库–这可能会执行您不想在集成测试中发生的外部调用。 class AnimalRegistrationService {ArrivalRepository arrivalRepositoryOptional registerArrival(Arrival arrival) {arrivalRepository.registerArrival(arrival)}} 以前我曾写过Grails 3.3具有Spock 1.1的特性 它为我们提供了一些新功能例如java.util.Optional的默认答案…但它给了我们更多的好处 1. DetachedMockFactory和TestConfiguration 现在我们还有一个DetachedMockFactory 可用于在Specification外部例如在Spring配置中外部的层次结构之外声明模拟。 我被触发这篇文章中关于Spring集成测试我把它调整到工作的Grails 3.3 -这是基于 Spring的引导但并没有完全使用所有我们在香草 Spring应用程序中使用了Spring的注解。 因此我们使用DetachedMockFactory在src/test/groovy创建了一个专门用于测试的配置例如 import spock.mock.DetachedMockFactory
import org.springframework.boot.test.context.TestConfiguration
import org.springframework.context.annotation.Bean
...TestConfiguration
class TestRepositoryConfig {private DetachedMockFactory factory new DetachedMockFactory()BeanArrivalRepository arrivalRepository() {factory.Mock(ArrivalRepository)}
}2.整合测试 现在通过使用Autowired 按类型注入模拟的bean可以在Grails 3集成测试中使用模拟的bean。 我们可以照常创造期望。 Integration
class ArrivalApiIntegrationSpec extends Specification {Value(${local.server.port})Integer serverPortAutowiredArrivalRepository mockedArrivalRepositoryvoid should create an arrival() {given:1 * mockedArrivalRepository.registerArrival(_) {Optional.empty()}when:def response new RestBuilder().post(http://localhost:{serverPort}/api/arrivals) {urlVariables([serverPort: serverPort])json {animalId 1date 2017-01-01}} then:response.status 200}
}3.依赖 为了使上述方法起作用您实际上必须引入一个基本的spock-lang依赖关系。 将其添加到您的build.gradle dependencies {...testCompile org.spockframework:spock-core:1.1-groovy-2.4testCompile org.spockframework:spock-spring:1.1-groovy-2.4 八大兵 完成。 而已 现在我们已经完全控制了模拟豆就好像我们在进行单元测试一样。 翻译自: https://www.javacodegeeks.com/2017/07/grails-3-3-integration-testing-spock-mocks.htmlspock 集成测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927065.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!