Jenkins ANT+JUNIT实例(学习笔记二十七)
转载:http://www.cnblogs.com/helloIT/p/5761740.html
1.环境
windows10 专业版
Jenkins 2.7
apache-ant-1.9.6
JDK1.8.0_20
2.整体思路
jdk:支持ant脚本中的编译、测试等target。
ant脚本:负责java代码的编译、JUnit。
Jenkins:调度触发ant脚本的执行。
3.开始练兵
3.1 项目整体结构
com.java.src下面放源码 MessageUtil.java
com.java.test目录下放JUnit测试文件 TestMessageUtil.java
build.xml文件放在根目录下,即位于AntJunit-v1.0目录下,和src位于同一级别。
3.2 项目源码
1package com.java.src; 2 3publicclass MessageUtil { 4private String message; 5 6//Constructor 7//@param message to be printed 8public MessageUtil(String message){ 9this.message = message; 10 }1112// prints the message13public String printMessage(){14 System.out.println(message);15return message;16 } 1718// add "Hi!" to the message19public String salutationMessage(){20message = "Hi!" + message;21 System.out.println(message);22return message;23 } 24}
1package com.java.test; 2 3 4 5 6importstaticorg.junit.Assert.*; 7 8import org.junit.Test; 910import com.java.src.MessageUtil;1112publicclass TestMessageUtil {13String message = "Robert"; 14MessageUtil messageUtil =new MessageUtil(message);1516 @Test17publicvoid testPrintMessage() { 18System.out.println("Inside testPrintMessage()"); 19 assertTrue(message.equals(messageUtil.printMessage()));20 }2122 @Test23publicvoid testSalutationMessage() {24System.out.println("Inside testSalutationMessage()");25message = "Hi!" + "Robert";26 assertTrue(message.equals(messageUtil.salutationMessage()));27 }28}
1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
3.3 必要的环境配置
将junit-4.10.jar 复制到%ANT_HOME%\lib目录下。例如,我需复制到D:\SoftInstall\apache-ant-1.9.6\lib下。
这一步很有必要,否则正式运行会报错。
3.4 配置Jenkins
新建一个自由风格的job,名字为AntJunit-V1.0。
源码管理:选择No。利用SVN或git对源码进行管理时,Jenkins总是会把代码拷贝一份到自己的工作空间,然后对备份进行操作,因此本demo忽略源码管理,直接将代码拷贝到Jenkins工作区。
增加构建步骤:选择Invoke Ant。Targets的名字test来自build.xml中的target名字test(test在build.xml中也是默认执行的target)。
另外,这里的构建可以用windows脚本执行。二者效果完全一样。
构建后操作:选择Publish JUnit test result report。测试报告xml填:report/junit/html/TESTS-TestSuites.xml 。
点击「保存」。
4.构建结果
点击中间的「最新测试结果」,查看详情:
5.总结
①完全可以在ant环境下调试好结果再放到jenkins工作空间。因为起实质作用的是ant,jenkins仅仅是调度。ant和jenkins天然有着密切的联系。
②这个demo中ant脚本模拟的是手动编译、测试java代码的过程。ant典型应用还有对Java程序的打包、部署等。当然,ant还有更多应用,有兴趣的童鞋可以搜索ant学习。
6.致谢
7.在ubuntu14.04下遇到的问题(2016.8.16,jenkins版本为2.7.2)
上述作业在windows下没有任何问题。但是移植到ubuntu14.04虽然能够构建,但查看详情发现报错:Error Message:org/hamcrest/SelfDescribing 。
原来是由于Junit4.10.jar中不包含hamcrest-core-1.3.jar(参考这里)。
将hamcrest-core-1.3.jar添加到${JENKINS_HOME}/workspace/AntJunit/lib目录下,重新构建,成功!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 编程精解 中文第三版 十三、浏览器中的 JavaScript
十三、浏览器中的 JavaScript 原文:JavaScript and the Browser 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 Web 背后的梦想是公共信息空间,其中我们通过共享信息进行交流。 其普遍性至关重要:超文本链接可指向任何东西,无论是个人的,本地的还是全球的,无论是草稿还是高度润色的。 Douglas Crockford,《JavaScript 编程语言》(视频讲座) 本书接下来的章节将会介绍 Web 浏览器。可以说,没有浏览器,就没有 JavaScript。就算有,估计也不会有多少人去关心这门编程语言。 Web 技术自出现伊始,其演变方式和技术上就是以分散的方式发展的。许多浏览器厂商专门为其开发新的功能,有时这些新功能被大众采纳,有时这些功能被其他功能所代替,最终形成了一套标准。 这种发展模式是把双刃剑。一方面,不会有一个集中式的组织来管理技术的演进,取而代之的是一个包含多方利益集团的松散协作架构(偶尔会出现对立)。另一方面,互联网这种无计划的发展方式所开发出来的系统,其内...
- 下一篇
实现一个智能聊天机器人「图灵机器人,Java,recyclerView」
实现一个智能聊天机器人(图灵机器人,Android,recyclerView) 推荐一部关于Ai的系列漫画,叫做代码的深渊 相关代码已经上传到Github的仓库Robot文件夹内 apk体验地址:https://www.pgyer.com/nVme 智能机器人效果预览~1.gif 文章思路参考自刘桂林前辈的带领新手快速开发APP ,聊天界面代码参考于郭神的第一行代码第二版第三章3.7节,由衷感谢,文中不足之处,希望能得到您的指正,十分感谢 布局文件 创建项目,在build.gradle下填入依赖 implementation 'com.android.support:design:26.1.0' 然后我们进去res-values-styles下,把主题修改成没有标题的样式 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <i...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL8.0.19开启GTID主从同步CentOS8
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16