Groovy/Spock 测试导论】的更多相关文章

Groovy/Spock 测试导论 原文 http://java.dzone.com/articles/intro-so-groovyspock-testing 翻译 hxfirefox 测试对于软件开发者而言至关重要,不过总会有人说:"写代码是我的事,测试那是QA的工作",这样的想法真是弱爆了,因为大量的业界实践已经证明测试驱动编码可以有效地帮助开发者提升代码质量. 大多数遵循TDD的Java开发者均会使用mockito或powermock,但mockito和powermock均包含…
听说spock是一个加强版的Junit,今天特地安装了,再把过程给大家分享一下. 首先说明,我的Java项目是用maven管理的. 我用的Eclipse是Kelper,开普勒. 要使用Spock之前,首先要先把Groovy的环境配好.   上网搜了一下,找到了Groovy Eclipse插件的下载地址:   http://dist.springsource.org/snapshot/GRECLIPSE/e4.3/index.html   刚好这个安装包就是用于开普勒的. 更高级版本的Eclips…
当无法避免做一件事时,那就让它变得更简单. 概述 单测是规范的软件开发流程中的必不可少的环节之一.再伟大的程序员也难以避免自己不犯错,不写出有BUG的程序.单测就是用来检测BUG的.Java阵营中,JUnit和TestNG是两个知名的单测框架.不过,用Java写单测实在是很繁琐.本文介绍使用Groovy+Spock轻松写出更简洁的单测. Spock是基于JUnit的单测框架,提供一些更好的语法,结合Groovy语言,可以写出更为简洁的单测.Spock介绍请自己去维基,本文不多言.下面给出一些示例…
概述 测试是软件成功上线的安全网.基本的测试包含单元测试.接口测试.在 "使用Groovy+Spock轻松写出更简洁的单测" 一文中已经讨论了使用GroovySpock编写简洁的单测,本文讲解使用Groovy+Spock来构建订单搜索的接口测试用例集合. 主工程是用Java写的.之所以采用Groovy, 是因为其语法近似Python的简洁,可以方便地构造List, Map 及使用闭包方便地遍历这些容器,可以使用元类方便地访问Java类的私有成员.Groovy 是与 Java 系统集成的…
本文首发于个人网站:在Spring Boot项目中使用Spock测试框架 Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目中使用该框架写优雅.高效以及DSL化的测试用例.Spock通过@RunWith注解与JUnit框架协同使用,另外,Spock也可以和Mockito(Spring Boot应用的测试--Mockito)一起使用. 在这个小节中我们会利用Spock.Mockito一起编写一些测试用例(包括对Contro…
目录 Spock测试套件 核心概念 整体认识 前置.后置 同junit的类比 Feature 方法 blocks 典型的用法 异常condition then和expect的区别 cleanup block的用法 测试用例中的文本描述 Extension 数据驱动测试 数据表 另外的写法 更清晰的测试结果展示 更丰富的数据准备方式 基于交互的测试(Interaction Based Testing) 对依赖Mock的调用期望,其结构如下 一些通配符 严格模式(Strict Mocking) 调用…
一.导入依赖 Spock是基于JUnit的单测框架,提供一些更好的语法,结合Groovy语言,可以写出更为简洁的单测. <!-- groovy依赖 --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.0</version> </dependency&…
在之前的博文里曾使用GMaven插件编译Groovy/Spock,这次使用GMavenplus插件,更加方便. 具体步骤 1. 导入Spock和Groovy依赖 <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.1</version> <scope>test&l…
开发apache camel应用,最好的方式就是tdd,因为camel的每个组件都是相互独立并可测试的. 现在有很多好的测试框架,用groovy的Spock框架的BDD(行为测试驱动)是比较优秀和好用的. 首先, 我们从最简单的processor开始. 在maven工程文件pom.xml添加spock的依赖包: <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all…
lisp是一门简单又强大的语言,其语法极其简单: (+ 1 2 ) 上面的意思 是:+是方法或函数,1 ,2 是参数,fn=1+2,即对1,2进行相加求值,结果是:3 双括号用来提醒解释器开始和结束. 之前在iteye写过一篇文章来简单介绍怎么写lisp的解释器: http://gyc567.iteye.com/blog/2242960 同时也画了一张草图来说明: 因为lexer(词法分析器)主要工作就是把程序的字符串表达式转化为tokens.(Pair),以下是百科对词法分析的说明: 词法分析…
如何在Maven和Gradle中配置使用Groovy 2.4与Spock 1.0 原文 https://dzone.com/articles/spock-10-groovy-24 翻译 hxfirefox Maven Maven无法天然支持除Java外的其他JVM语言,例如Groovy或Scala.想要在Maven中使用Groovy/Spock,需要引入第三方插件.对于Groovy,最佳选择是GMavenPlus,另一个选择是使用Groovy-Eclipse编译器的插件,不过这种插件不使用官方g…
前言 为了找到一个适合自己的.更具操作性的.以DDD为核心的开发方法,我最近一直在摸索如何揉合BDD与DDD.围绕这个目标,我找到了Impact Mapping → Cucumber → Spock → Scala这样的一条路线,并相应选择了Scala → Spock → Cucumber这样的一条学习路线. Spock是Java生态圈中一个新生的测试框架,采用动态语言Groovy编写.我是在阅读<BDD in Action>过程中开始接触Spock的.在该书中,作者将Spock的角色定位于取…
已经在项目里使用Groovy/Spock做测试框架了,感觉和Maven结合在一起还是挺好用的. 在Maven的pom.xml里引入他们还是挺方便的,第一先要在dependency 里引入 <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>1.8.1</version> <sc…
Keywords: Groovy, Reflection, 反射 The Reflection of Groovy String constant style method. Groovy支持以下的方法定义: class A { def "I am a method"() { } } Groovy是继承Java的机制的,而Java显然是不支持这种函数定义命名的.然而实际上,你是用A.class.getMethods() 或 A.metaClass.getMethods() 都能获取到带…
转载:http://blog.csdn.net/hankle_xu/article/details/77531880 spock测试框架,使用groovy作为脚本语言,开发出的测试脚本具有优良的阅读性,通过标签结构化测试代码.groovy的语法简洁强大,可以节省很多代码.闭包很强大.Spock的mock和stub功能比junit的mockito.jmock.easymock都要简单好用,在spring maven工程中,spock-spring起到一个桥梁作用,它集成spock和spring t…
1.POM 文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/…
0. 为什么人人都讨厌写单测 在之前的关于swagger文章里提到过,程序员最讨厌的两件事,一件是别人不写文档,另一件就是自己写文档.这里如果把文档换成单元测试也同样成立. 每个开发人员都明白单元测试的作用,也都知道代码覆盖率越高越好.高覆盖率的代码,相对来说出现 BUG 的概率就越低,在线上运行就越稳定,接的锅也就越少,就也不会害怕测试同事突然的关心. 既然这么多好处,为什么还会讨厌他呢?至少在我看来,单测有如下几点让我喜欢不起来的理由. 第一,要额外写很多很多的代码,一个高覆盖率的单测代码,…
Maven Maven本身不支持其他JVM语言(例如Groovy或Scala).要在Maven项目中使用它,需要使用第三方插件.对于Groovy而言,最好的选择似乎是GMavenPlus(重写不再维护的GMaven插件).另一种选择是允许使用Groovy-Eclipse编译器和Maven 的插件,但是它没有使用官方的插件,groovyc并且在过去,使用Groovy 的新发行版/功能存在一些问题. GMavenPlus插件的示例配置如下所示: <plugin> <groupId>or…
背景 在 "Groovy元编程简明教程" 一文中,简明地介绍了 Groovy 元编程的特性. 那么,元编程可以应用哪些场合呢?元编程通常可以用来自动生成一些相似的模板代码. 在 "使用Groovy+Spock构建可配置的订单搜索接口测试用例集" 一文中,谈到了如何将搜索接口的测试用例配置化. 不过,那还只是初级配置化, 含有浓浓的 Java 对象味了, 测试代码与测试用例集合的配置实际上并没有分离,整个测试方法看起来不够清晰. 那么,用元编程的方法,会是怎样呢 ?…
如果您今天正在编程,那么您很可能听说过单元测试或测试驱动的开发过程.我还没有遇到一个既没有听说过又没有听说过单元测试并不重要的程序员.在随意的讨论中,大多数程序员似乎认为单元测试非常重要. 但是,当我开始使用代码并问"单元测试在哪里?"时,我得到了一个完全不同的故事.我最近在网上问我的程序员朋友为什么不这样做,以及为什么其他程序员不这样做呢?不要编写单元测试.当我问程序员或IT经理同样的问题时,我经常听到的第一答案是:"我没有时间"或类似的问题.通常会出现这样的论点…
单元测试作为提升代码质量的有效方法,目前在国内各大互联网公司的开发团队中,尤其是业务团队中却鲜少被使用.这主要由于大家对于单元测试有一些认知错误,或者没有正确的打开方式.至今我们团队在小剧场.零代码运营平台等项目都进行了一些单元测试的实践运用,单元测试对我们的代码质量及开发效率都大有裨益,故希望通过此篇分享我们在单元测试的一些实践经验,帮助大家更好的使用单元测试来为自己的系统质量保驾护航. 方法篇 为什么需要单元测试 单元测试的定义 一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,…
手把手教你接口自动化测试 – SoapUI & Groovy http://www.cnblogs.com/wade-xu/p/4236295.html 关键词:SoapUI接口测试,接口自动化测试,数据驱动测试,SoapUI进阶使用, Groovy in SoapUI, SoapUI中Groovy的使用,数据分离. 阅读这篇文章需要一定的SoapUI基础,至少入过门,另外还需要一些Groovy的知识,当然如果你会java 也可以,这里用到的Groovy知识和Java很类似. 另外,本文的思路和…
Extensions Peter Niederwieser, The Spock Framework TeamVersion 1.1 Spock comes with a powerful extension mechanism, which allows to hook into a spec’s lifecycle to enrich or alter its behavior. In this chapter, we will first learn about Spock’s built…
概述 Groovy 是一门基于JVM的动态类型语言,可以与 Java 平台几乎无缝融合(与Java代码一样编译成字节码). 使用 Groovy ,可以增强 Java 应用的灵活性和可扩展性,提升开发效率.使用 Groovy + Spock 组合也更容易编写简洁易懂的单测.熟练使用 Groovy 编程是很有益处的. 本文针对已有一定java开发经验,想要快速熟悉和使用Groovy语言的童鞋.本文会跳过变量.作用域等基础通用的编程内容,重点给出与Groovy相关的实用性的知识点. 变量定义 Java…
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersi…
因为熟悉devops,用IDEA的git完成版本提交,不太喜欢公司的代码控制,从事groovy基本没有代码控制,提交就打个压缩包给指定的人. 没有持续继承,持续部署(CICD). http://xiongzheng.me/question/2015/01/02/groovy-permgen-out/ 网上发现的PermGen定位解决 这门语言用来设计dsl比较好,groovy在2016年左右达到1.818%,2019年2月达到1.178 我依旧使用2.1版本. groovy写测试可以,运行和编译…
​ 00.故事的起源 “二哥,听说上一篇<多线程>被 CSDN 创始人蒋涛点赞了?”三妹对她提议的<教妹学 Java>专栏一直很关心. “嗯,有点激动.刚开始还以为是个马甲,没想到是真人!” “其实蒋涛点赞的文章很多很多了,二哥的只是其中一篇而已.”三妹出乎意料地泼起了冷水. “你说得没错.但这的确给我注入了新的能量,蒋涛毕竟是业界的大佬啊.” “那就让我们开始新的篇章吧!我继续来提问,二哥你继续回答.”三妹已经迫不及待了. 01.二哥,什么是 Groovy 啊? 三妹啊,听哥来给…
手把手教你接口自动化测试 – SoapUI & Groovy Posted on 2015-01-21 09:38 WadeXu 阅读(12741) 评论(10) 编辑 收藏 手把手教你接口自动化测试 – SoapUI & Groovy http://www.cnblogs.com/wade-xu/p/4236295.html 关键词:SoapUI接口测试,接口自动化测试,数据驱动测试,SoapUI进阶使用, Groovy in SoapUI, SoapUI中Groovy的使用,数据分离.…
以下内容,翻译自官方文档,并结合了学习过程的demo. Spring Boot提供了许多实用程序和注解,帮助测试应用程序.测试支持由两个模块提供:spring-boot-test 包含核心项,spring-boot-test-autoconfigure 支持测试的自动配置. 大多数开发人员使用 spring-boot-starter-test,它同时导入 SpringBoot 测试模块以及JUnit Jupiter.AssertJ.Hamcrest和许多其他有用的库. 此文使用当前最新稳定版本:…
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续上一节,继续使用 spock 测试我们自己封装的 WebClient 测试针对 readTimeout 重试 针对响应超时,我们需要验证重试仅针对可以重试的方法(包括 GET 方法以及配置的可重试方法),针对不可重试的方法没有重试.我们可以通过 spock 单元测试中,检查对于负载均衡器获取实例方法的调用次数看出来是否有重试 我们通过 httpbin.org 的 '/delay/…