2013年9月16日
摘要: 项目使用jenkins做持续集成,ant来构建,发现在跑junit单元测试的时候,如果有test case失败了,ci的状态是黄色的unstable,而不是红色的failed,看起来很不爽。个人觉得build只有两种状态最好,绿色stable和红色failed,黄色让人看起来很困惑,是要fix好呢还是不fix也可以呢? 在网上查到解决方案,就是在ant的build文件里面,加上这样一段: ... 阅读全文
posted @ 2013-09-16 22:48 kingzzm 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 最近在使用Mockito时遇到了几个比较tricking的问题,在这里记录一下。 1.如果方法的参数或者返回类型是泛型通配符相关的(如,),不管你定义的对象类型是否正确匹配,用any(match)方法时都会编译出错。 解决办法:修改方法的参数类型,去掉泛型通配符。我遇到的相关代码去掉通配符之后也是运行正常的,如果去掉后运行不正常,可能需要寻找其他解决办法,具体没有研究。 2.mock对象的... 阅读全文
posted @ 2013-09-16 22:46 kingzzm 阅读(8786) 评论(0) 推荐(0) 编辑
摘要: 使用ant编译java文件时,如果没有设置debug属性,则不会产生编译信息,ant的默认设置是不打印编译信息。 如果想在编译过程中显示编译信息,需设置debug属性为true,并且设置debugLevel,如下代码所示: ant file - build.xml 1 ant的官方文档: debug Indicates whether source shou... 阅读全文
posted @ 2013-09-16 22:45 kingzzm 阅读(1712) 评论(0) 推荐(0) 编辑
摘要: 最近两天一直在处理ant运行java程序的一个问题,用IDE直接运行类里面的main函数一切正常,但用ant跑该函数就报错误,错误的原因是运行ant任务时调用的是AntClasloader,而IDE里面调用的是jvm里面的classloader。 如何使ant直接调用jvm的classloader呢?尝试过了很多办法都不行,最后在不经意间设置了fork=true这个属性,结果运行正常了。 在... 阅读全文
posted @ 2013-09-16 22:43 kingzzm 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 一般jar包里面是不包含jar文件的,如果自己的类有依赖其他jar包,可以通过ant命令将这些jar包解析,然后和自己的class文件打在一起,命令如下: build.xml 1 2 3 4 5 6 7 8 执行之... 阅读全文
posted @ 2013-09-16 22:40 kingzzm 阅读(1600) 评论(0) 推荐(0) 编辑
摘要: 今天遇到一个问题,需要通过知道的class文件得到该文件所在的jar包,试过很多办法都不行,最后在网上找到了一个解决办法,如下: demo.java 1 2 String path = XXX.class.getProtectionDomain().getCodeSource().getLocation().getFile(); File jarFile = new File(path);... 阅读全文
posted @ 2013-09-16 22:39 kingzzm 阅读(1351) 评论(0) 推荐(0) 编辑
摘要: 最近在用jenkins做自动化web部署,web服务器是tomcat。 遇到了这样一个问题:在服务器上执行tomcat的shutdown.bat命令可以正常关机,但用jenkins执行shutdown.bat命令时却经常关闭不了,从而导致重启时报错。后来想到了杀进程的办法来关闭tomcat服务器,但是要怎样才能查到tomcat进程并杀掉呢? 下面是通过端口号查找进程的命令: 1 net... 阅读全文
posted @ 2013-09-16 22:36 kingzzm 阅读(2254) 评论(0) 推荐(0) 编辑
摘要: 今天在用使用emma的过程中遇到了几个问题,记录一下. 1.跑junit过程中没办法产生coverage data文件,导致最后没办法出emma报告,上官网查了一下原因如下: I have instrumented my classes but am not getting any coverage data… This question has been asked several t... 阅读全文
posted @ 2013-09-16 22:34 kingzzm 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 目前的项目里用junit写单元测试,使用的是junit4,由于大部分开发之前使用的都是junit3,对junit4还不是很熟悉,所以出现了junit3和4混合使用的情况,导致发生了一些问题,这里列举一下。 1.测试类继承了TestCase,方法名是test开头,加Ignore标签,这时Ignore标签失效。错误代码示例: test.java 1 2 3 4 5 6 7 8 public ... 阅读全文
posted @ 2013-09-16 22:32 kingzzm 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 最近买了新的笔记本电脑,发现新买的电脑上面安装的是win7用户版,在网上查了一下这个版本的win7是功能最少的。。。另外又发现偌大的500G硬盘居然只给分成2个区,每个250。。。各种不爽,于是决定格式化硬盘重新安装系统。 1.安装win7 在网上找了下win7的iso映像,有各种版本,说是旗舰版的win7功能是比较多比较好的。另外目前的cpu都是64位的,所以我打算安装64位的系统,64位... 阅读全文
posted @ 2013-09-16 22:30 kingzzm 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 最近CI服务器从老版本的hudson升级为jenkins,遇到了2个问题,记录一下: 1.升级为jenkins后,junit report里面显示的test case数量为原来的两倍,每个test case跑了2遍。 在job设置的junit文件路径提示这样写:’myproject/target/test-reports/*.xml’,老的hudson版本只会读取TEST-*.xml文件,而... 阅读全文
posted @ 2013-09-16 22:29 kingzzm 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 这里讨论的是junit在ant运行的情况,其他build工具应该也适用,但具体没试验过。 首先运行junit时是按照脚本中文件夹的顺序执行,如下脚本会先执行test1目录下的测试,其实是test2目录的,最后是test3目录的。 build.xml 1 2 3 4 5 6 7 8 9 10 11 ... 阅读全文
posted @ 2013-09-16 22:26 kingzzm 阅读(1236) 评论(0) 推荐(0) 编辑
摘要: java里面的Arrays类有个asList方法,参数是1或多个Object对象,如果传入一个Object数组,则可以将该数组转化为List,但如果传入的是一个基本类型的数据(int,long,short 等),则无法将数组转换成正确的list,测试代码如下: Main.java 1 2 3 4 5 6 7 public static void main(String[] args... 阅读全文
posted @ 2013-09-16 22:25 kingzzm 阅读(438) 评论(0) 推荐(0) 编辑
摘要: JavaScript中使用location对象可以通过很多种方式改变浏览器的位置。最常用的方法应该是下面几种: demo.js 1 2 3 location.href = "http://www.google.com"; window.location = "http://www.google.com"; location.assign("http://www.google.c... 阅读全文
posted @ 2013-09-16 22:22 kingzzm 阅读(2367) 评论(0) 推荐(0) 编辑
摘要: 1.工厂方法 demo.js 1 2 3 4 5 6 7 8 9 10 11 function createPerson(name, age) { var person = new Object(); person.name = name; person.age = age; person.sayHi = function() { retu... 阅读全文
posted @ 2013-09-16 22:20 kingzzm 阅读(299) 评论(0) 推荐(0) 编辑
摘要: DRY(don’t repeat yourself),重复往往是代码腐烂的开始,我们一般的处理手法是将重复的代码提取成一个方法,然后用新方法替换掉原来的代码。 但是对于for循环里面的重复代码要如何处理呢?比如有下面2个方法: A.class 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public boolean methodA(List... 阅读全文
posted @ 2013-09-16 22:19 kingzzm 阅读(1890) 评论(0) 推荐(0) 编辑
摘要: 虽然sonar支持ant工程的构建,但目前最大的不足是无法在分析过程中产生单元测试和覆盖率报告,这样在sonar面板上覆盖率板块就始终没有数据。但幸运的是,sonar可以读取已经生成好的报告,让报告的内容显示在sonar的覆盖率面板上。 首先需要配置sonar.dynamicAnalysis属性,这个属性有3个值,分别是true, false和reuseReports,默认值是true,即进行... 阅读全文
posted @ 2013-09-16 22:16 kingzzm 阅读(3061) 评论(0) 推荐(0) 编辑
摘要: 报错信息如下: log 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 coverage-report: [mkdir] Created dir: D:\JK\workspace\d9_rm3_engine_dev1.0.0_cud\view\rmv3_engine\engine_j2ee\doc\coverager... 阅读全文
posted @ 2013-09-16 22:15 kingzzm 阅读(2740) 评论(0) 推荐(0) 编辑
摘要: 译注:原文是《JavaScript高级程序设计》的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考。原文链接:这里 很多年前,我在一次Goole面试被问到,如何在web应用中提供更好的用户体验。浮现在我脑海里的第一个想法是,通过比标签更好的方式来进行文件操作。虽然web发展一路高歌猛进,但自从该标签引进以来,我们操作文件的方式就一直使用它而从来没有改变过。幸运的是,有... 阅读全文
posted @ 2013-09-16 22:13 kingzzm 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 译注:原文是《JavaScript高级程序设计》的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考。原文链接:这里 在我的前一篇blog中,我介绍了在JavaScript中如何使用文件,具体重点放在如何获得File对象。只有当用户通过上传或者拖拽的方式上传了文件,这些对象才拥有文件的元数据。一旦你有了这些文件,下一步就是从这些文件中读取数据。 FileReader ... 阅读全文
posted @ 2013-09-16 22:11 kingzzm 阅读(3761) 评论(0) 推荐(0) 编辑