Groovy Spock环境的安装

听说spock是一个加强版的Junit,今天特地安装了,再把过程给大家分享一下。

首先说明,我的Java项目是用maven管理的.

我用的Eclipse是Kelper,开普勒。

要使用Spock之前,首先要先把Groovy的环境配好。

上网搜了一下,找到了Groovy Eclipse插件的下载地址:

http://dist.springsource.org/snapshot/GRECLIPSE/e4.3/index.html

刚好这个安装包就是用于开普勒的。

更高级版本的Eclipse好像只能在线安装,目前还没有离线安装包可以下载。

有这个安装包就可以把Groovy的Eclipse环境配好,不过我也发现过有一些Eclipse会装不起来,上网下了一个新的Eclipse就能装起,可能是跟Eclipse的某些插件冲突有关。

打开Eclipse的配置,会很惊异地发现,多了一个Groovy项。选中Compiler一项,发现支持的编译器的版本从1.8.6到2.2.2,再高的就不能支持了,估计是跟Eclipse的Groovy插件有关的,如果要往上支持,可能要用更新版本的Eclipse了。

毫不犹豫地我选取了最新的版本2.2.2.

在Pom文件里面添加了以下的依赖,

<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.2.2</version>

</dependency>

下一步安装Spock,从Spock的Wiki找到了版本对应的关系。

| Spock version | Groovy version | JUnit version | Grails version | Spring version |

| 0.5-groovy-1.6 | 1.6.1-1.6.x | 4.7-4.x | 1.2.0-1.2.x | 2.5.0-3.x |

| 0.5-groovy-1.7 | 1.7.0-1.7.x | 4.7-4.x | 1.3.0-1.3.x | 2.5.0-3.x |

| 0.6-groovy-1.7 | 1.7.0-1.7.x | 4.7-4.x | 1.3.0-1.3.x | 2.5.0-3.x |

| 0.6-groovy-1.8 | 1.8.1-1.8.x | 4.7-4.x | 2.0-2.x | 2.5.0-3.x |

| 0.7-groovy-1.8 | 1.8.1-1.8.x | 4.7-4.x | 2.0-2.x | 2.5.0-3.x |

| 0.7-groovy-2.0 | 2.0.0 -2.x.x | 4.7-4.x | 2.2-2.x | 2.5.0-3.x |

| 1.0-groovy-2.0 | 2.0.0 -2.2.x | 4.7-4.x | 2.2-2.x | 2.5.0-4.x |

| 1.0-groovy-2.3 | 2.3.0 -2.3.x | 4.7-4.x | 2.2-2.x | 2.5.0-4.x |

| 1.0-groovy-2.4 | 2.4.0 -2.x.x | 4.7-4.x | 2.2-2.x | 2.5.0-4.x |

发现要支持2.2.2,只能使用1.0-groovy-2.0的版本。

所以我又毫不犹豫地添加了以下的依赖。

<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>1.0-groovy-2.0</version>
</dependency>

好,立刻来一个Hello World。

package com.test.groovytest

import spock.lang.Specification;

class AddTest extends Specification{

Add add = new Add();

int result;

def "test add 1 and 2" () {

given: "there are two number 1 and 2"

add.a = 1;

add.b = 2;

when: "add them"

result = add.add();

then: "result should be 3"

result == 4;

}

}
这是一个最简单的对一个加法器的Spock测试。但是写好以后,并不能在Eclipse里面运行测试。

发现Junit的版本不对,立即改用最新的。

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency>

OK, 测试可以在Eclipse里面跑起来了。

但是持续集成是在命令行里面运行的,到命令行里面mvn clean compile一下,发现Groovy都没有编译。

上网找了一下,必须要在pom文件里面添加plugin。

好吧,把Plugin的配置加上

<plugins>

<plugin>

<groupId>org.codehaus.gmavenplus</groupId>

<artifactId>gmavenplus-plugin</artifactId>

<version>1.5</version>

<executions>

<execution>

<goals>

<goal>addSources</goal>

<goal>addTestSources</goal>

<goal>generateStubs</goal>

<goal>compile</goal>

<goal>testGenerateStubs</goal>

<goal>testCompile</goal>

<goal>removeStubs</goal>

<goal>removeTestStubs</goal>

</goals>

</execution>

</executions>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

</plugin>

</plugins>

发现项目里面的groovy文件还是没能编译出来,上网再找,发现网上的例子都要把Groovy文件放进新开的编译路径下面,这个编译路径的名字是

src/main/groovy

src/test/groovy

把这两个路径创建好,把groovy文件挪过来,再mvn clean test。OK,成功了。

但是这个时候在Eclipse里面发现以下错误提示,

Plugin execution not covered by lifecycle configuration

在stackoverflow那里找到解决方法。

在pom文件里面添加

<pluginManagement>

<plugins>

<!--This plugin‘s configuration is used to store Eclipse m2e settings

only. It has no influence on the Maven build itself. -->

<plugin>

<groupId>org.eclipse.m2e</groupId>

<artifactId>lifecycle-mapping</artifactId>

<version>1.0.0</version>

<configuration>

<lifecycleMappingMetadata>

<pluginExecutions>

<pluginExecution>

<pluginExecutionFilter>

<groupId>

org.codehaus.gmavenplus

</groupId>

<artifactId>

gmavenplus-plugin

</artifactId>

<versionRange>[1.5,)</versionRange>

<goals>

<goal>addSources</goal>

<goal>addTestSources</goal>

<goal>generateStubs</goal>

<goal>compile</goal>

<goal>testGenerateStubs</goal>

<goal>testCompile</goal>

<goal>removeStubs</goal>

<goal>removeTestStubs</goal>

</goals>

</pluginExecutionFilter>

<action>

<ignore></ignore>

</action>

</pluginExecution>

</pluginExecutions>

</lifecycleMappingMetadata>

</configuration>

</plugin>

</plugins>

</pluginManagement>

那么就找不到其他的问题,我们可以开始愉快的编写Spock测试用例了。

时间: 2024-10-12 22:29:45

Groovy Spock环境的安装的相关文章

Groovy轻松入门——搭建Groovy开发环境

多日来,我发表了多篇关于Groovy的文章,想必大家对Groovy或多或少已经有所了解,今后我会抽空写些Groovy入门性质的文章,供大家参考.由于时间仓促,水平有限,不足之处请各位朋友多包涵提点,谢谢.既然是入门,我先不介绍那些IDE的东西,比如Eclipse中的Groovy插件(如果您迫不及待的话,可以先看一下安装Groovy的Eclipse插件),我先讲一下如何设置Groovy的环境变量(我目前所用的系统是Windows XP),最后运行一个Hello, world程序告终. Groovy

Groovy 配置环境变量

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/70313790 本文出自[赵彦军的博客] 概念 Groovy 配置环境变量 开发工具 IntelliJ IDEA Groovy 语法 基本语法 定义变量 定义函数 断言 assert 循环 for 循环 time 三目运算符 捕获异常 switch 判断是否为真 asType Groovy 数据类型 Java 基本类型 Groovy 容器 闭包 Java 属性 再识 Groovy

我的第一个phonegap开发WebApp的demo 怎么搭建安卓开发环境以及安装phonegap

一.先来张图,赏心悦目观赏一下,哈 . 这个就是使用phonegap框架搭建起来的,运行在安卓环境上的第一个demo. 安卓的开发环境,大家都会搭建了,所以不赘述.讲一下,安装phonegap的步骤. 二.phonegap的安装   1. 设置系统变量系统变量 Path后面添加:(以下变量都是必须的,路径根据自己的设置)E:\android_sdk\sdk\tools;E:\android_sdk\sdk\platform-tools;E:\android_sdk\eclipse\plugins

Linux环境下安装JDK并配置环境变量

首先查看是否已经安装了JDK并配置环境变量. [[email protected]_plat opt]# java -version -bash: java: command not found [[email protected]_plat opt]# 说明没有安装JDK或者配置环境变量. 安装JDK: Linux环境JDK安装比较简单,直接解压到指定目录即可. 1.上传安装介质至服务器,我下载的是tar.gz版本的JDK: 2.在上传目录中执行tar命令安装: tar -zxvf jdk-7

在 xampp 环境下安装 laravel

网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可. Laravel是一套简洁.优雅的PHP Web开发框架(PHP We

Kubuntu 14.04 环境下安装:flash 火狐插件,搜狗输入法,更改分辨率1366x768

本文档的pdf文件网盘地址:http://pan.baidu.com/s/1hqgQId2 Kubuntu 14.04 环境下安装:flash 火狐插件,搜狗输入法,更改分辨率 1366x768http://www.kubuntu.org/ 系统安装后没有中文输入法,可以联网的话,建议使用:百度在线输入法(见下链接)Ubuntu安装Fcitx(小企鹅五笔输入法)http://www.cnblogs.com/conanboa/archive/2010/03/04/1678402.html 安装目标

Linux环境下安装Tigase XMPP Server

Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下: (1)下载安装文件 到https://projects.tigase.org/projects/tigase-server/files下载安装文件,我下载的是tigase-server-5.2.0-b3447-dist.tar.gz. (2)解压缩 创建一个文件夹,将tigase-server-

ubuntu操作系统以及开发环境的安装

网盘视频:里面包含了centos,ubuntu,Solaris 三种目前比较主流的操作系统的安装,以及他们的开发环境的安装 https://pan.baidu.com/disk/home#list/vmode=list&path=%2FC%2B%2B%2F%E7%AC%AC%E4%B8%80%E9%98%B6%E6%AE%B5%20-%20%E7%8E%A9%E8%BD%ACC%E8%AF%AD%E8%A8%80%2F01_C%E8%AF%AD%E8%A8%80%E5%85%A5%E9%97%A

Groovy/Spock 测试导论

测试对于软件开发者而言至关重要,不过总会有人说:"写代码是我的事,测试那是QA的工作",这样的想法真是弱爆了,因为大量的业界实践已经证明测试驱动编码可以有效地帮助开发者提升代码质量. 大多数遵循TDD的Java开发者均会使用mockito或powermock,但mockito和powermock均包含了许多样本代码,导致测试代码变得冗长而难以维护.在测试中引入Groovy/Spock后,我完全被它们吸引,并转向使用Groovy/Spock来替代原有的测试框架. 下面将围绕一个简单例子来