张孝祥专栏

以平常心工作,远离忧虑,除了让自己快乐,也要让别人快乐!

用户操作
[即时聊天] [发私信] [加为好友]
张孝祥ID:zhangxiaoxiang
556056次访问,排名75好友4人,关注者140
zhangxiaoxiang的文章
原创 129 篇
翻译 0 篇
转载 2 篇
评论 339 篇
张孝祥的公告
《深入体验Java Web开发内幕——高级特性》已经出版。 传智播客开展:先培训,就业后再还款活。详细信息查询:http://www.itcast.cn/goodnews.htm
最近评论
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
programmer_duncan:谢谢张老师分享!!!
文章分类
收藏
    相册
    传智播客原创教材展示
    培训
    《深入体验javaweb开发内幕——高级特性》出版啦!
    培训就业后还款计划正式启航
    良少的blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 8月31培训日记收藏

    新一篇: 9月1日培训记录 | 旧一篇: 关于如何办好培训的感想

     受梁老师委托,简要给大家回顾了一些工作流系统中的对象之间的关系,工作流就象一个链表。
    为什么要测试?什么是单元测试?单元测试的好处?为什么要使用自动化工具进行单元测试。
    什么是XP,什么是TDD,TDD的好处。
    junit的安装和使用,再次回顾junit.jar为什么不能放在<jre>/lib/ext目录中的原因。
    利用TestCase编写单元测试程序,资源的初试化和回收方法为setUp和tearDown,各个测试方法要遵守testXxx()这种命名模式,junit使用反射机制调用测试程序的方法,每个方法前后都要调用setUp和tearDown。如何使用TestSuite进行组合测试,junit自带的例子中的每个程序都返回一个Testsuite的目的是为了让每个程序也可以被作为一个分支组合被测试。
    Test接口,TestCase类,TestSuite类之间的关系,组合设计模式在junit中的体现。
    各种assert方法的总结:assertTrue,assertFalse,assertSame,assertNotSame,assertNull,assertNotNull,assertEquals,fail
    重点分析:assertEquals方法比较浮点数时为什么有一个delta变量,fail方法的作用
    junit报告的Error与Failure的区别
    每一个执行流程都应对应一个测试用例
    编写一个空方法的“最佳实践”是什么?
    运行时异常(RuntimeException,也叫unchecked异常)的特点,考题:请列举出3个你熟悉的运行时异常。
    测试程序与源程序的组织结构,“分离但等同”原则。

    junit.jar加入到classpath中,可以被javac任务找到,但不能java任务识别。

    junit与ant构建工具的集成

    如果junit任务下面没有设置<formatter>子元素,那将无法打印出详细的信息。
    一个junit任务下可以有多个<formatter>子元素,<formatter>的usefile属性决定是否生成文件。
    junitreport任务首先把多个test-....xml文件合并成一个汇总的xml文件,其todir属性指定该文件的存储目录.其<report>子元素用于指定生成的html文件的目录。在用junitreport之前,要小心junit的haltonfaiure。

    batchtest指定的java源文件或class文件,而不是要运行的测试类名称,junit从这些文件中找出要运行的测试类名。

    最后复习了一下反射与代理
    实践:对入学测试题的第一题进行单元测试。
    FindChar.java:
    pacakge cn.itcast;

    public class FindChar
    {
     int search(char [] chars, char ch) throws IllegalArgumentException
     {
      //throw new UnsupportedOperationException("search");
      /*if(chars == null)
      {
       throw new IllegalArgumentException("");
      }*/
      
      /*for(int i=0; i<chars.length; i++)
      {
       if(chars[i] == ch)
       {
        return i;
       }
      }*/
      return -1;
     }
    }
    ------------------------------------------
    TestFindChar.java:

    package cn.itcast;
    import junit.framework.*;

    public class TestFindChar extends TestCase
    {
     private FindChar fc = null;
     private char [] chars = {'a','b','c','d'};
     
     public void setUp()
     {
      fc = new FindChar();
     }
     
     public void testSearchFound()
     {
      int index = fc.search(chars,'c');
      assertEquals(index,2);
     }
     public void testSearchNotFound()
     {
      int index = fc.search(chars,'e');
      assertTrue((index==-1));
     }
     public void testSearchIllegalArguments()
     {
      char [] chs = null;
      fc.search(chs,'a');
      fail();
     }
    }
    ---------------------------------------------------
    build.xml文件:
    <project name="junitlesson" default="report">
     <property name="src.java.dir" value="src/java" />
     <property name="src.test.dir" value="src/test" />
     <property name="classes.java.dir" value="classes/java" />
     <property name="classes.test.dir" value="classes/test" />
     
     <target name="init">
      <mkdir dir="${classes.java.dir}" />
      <mkdir dir="${classes.test.dir}" />
     </target>
      
     <target name="compileJava" depends="init">
      <javac srcdir="${src.java.dir}/cn/itcast" destdir="${classes.java.dir}"/>
     </target>
     
     <target name="compileTest" depends="init">
      <javac srcdir="${src.test.dir}/cn/itcast" destdir="${classes.test.dir}">
       <classpath>
        <pathelement location="${classes.java.dir}" />
       </classpath>
      </javac>
     </target>
     
     <target name="compile" depends="compileJava,compileTest" />
      
     <!--target name="run" depends="clean,compile">
      <java classname="junit.swingui.TestRunner" fork="true">
       <classpath>
        <pathelement location="C:\junit3.8.1\junit.jar" />
        <pathelement location="${classes.test.dir}" />
        <pathelement location="${classes.java.dir}" />
       </classpath>
       <arg value="cn.itcast.TestFindChar" />
      </java>
     </target-->
     <target name="test" depends="clean,compile">
      <mkdir dir="reports"/>
      <!--haltonfailure="yes"-->
      <junit fork="true" printsummary="on" >
       <classpath>
        <pathelement location="C:\junit3.8.1\junit.jar" />
        <pathelement location="${classes.test.dir}" />
        <pathelement location="${classes.java.dir}" />
       </classpath>
       <!--test name="cn.itcast.TestFindChar" todir="reports"/-->
       <batchtest fork="yes" todir="reports">
        <fileset dir="${src.test.dir}">
         <include name="**/*Test*.java"/>
         <exclude name="**/AllTests.java"/>
        </fileset>
       </batchtest>

       <formatter type="brief" usefile="false"/>
       <formatter type="plain"/>
       <formatter type="xml"/>
      </junit>
     </target>

     <target name="report" depends="test">
      <junitreport todir=".">
       <fileset dir="./reports">
        <include name="TEST-*.xml"/>
       </fileset>
       <report format="frames" todir="."/>
      </junitreport>
     </target>
      
     <target name="clean">
      <delete dir="${classes.java.dir}" />
      <delete dir="${classes.test.dir}" /> 
     </target>
    </project>

     

    发表于 @ 2006年08月31日 21:35:00|评论(loading...)|编辑

    新一篇: 9月1日培训记录 | 旧一篇: 关于如何办好培训的感想

    评论

    #cun 发表于2006-08-31 23:58:00  IP: 222.130.188.*
    张老师你好多崇拜着喔.呵呵...
    #张老师的崇拜者 发表于2006-08-31 22:18:00  IP: 60.16.100.*
    张老师,您的书啥时候出啊
    您快点好不好,就算定价一百我也买
    #livahu 发表于2006-09-02 17:43:00  IP: 218.76.2.*
    张老师很期盼你的新书上市,能大概说个时间吗?
    我曾看过你的视频,我最喜欢的风格是里面有很多人生的感悟,和一些感想.我觉得教学中应该有这些东西.
    还有就是觉得什么时候你也出个JDK5.0的新特性出来
    因为你的教材和视频现在还是很老了,虽然内容依然经典
    #热爱老张的人 发表于2006-09-15 13:39:00  IP: 61.153.2.*
    老张(我对很喜欢的人都是这样的称呼),很感谢你啊,好不容易找到你的blog了,以后要天天来拉,希望老张多写好文章,还有你出的书我都买过,强烈支持你!
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 张孝祥