zoukankan      html  css  js  c++  java
  • Junit4学习(一)新建Junit4工程

    一,学习Junit4,学以致用

    二,熟悉编写流程

    工具:Eclipse,Junit包,hamcrest.core包

    1,打开Eclipse开发工具,新建工程:file->Java Project或者使用快捷键(alt+shift+N)

    并起名工程名字:junit4Demo2

    2,创建被测试数据的包文件:在生成的junit4Demo2工程下的src源文件夹下创建包:com.duo.util

    3,新建被测试类:Calculate

    4,在新建的被测试类中输入代码:

     1 package com.duo.util;
     2 
     3 public class Calculate {
     4     public int add(int a, int b){
     5         return a + b;
     6     }
     7     
     8     public int subtract(int a, int b){
     9         return a - b;
    10     }
    11     
    12     public int multiply(int a, int b){
    13         return a * b;
    14     }
    15     
    16     public int divide(int a, int b){
    17         return a / b;
    18     }
    19     
    20 
    21 }
    View Code

    5,导入junit4 jar包(为什么这是时候导入,原因就是编码的一种习惯,需要什么在引入什么)

    右键工程名:junit4Demo2->Build Path->Add Libraries

    选择junit,下一步,查看导入的junit包的位置

    “Finish”即可

    导入后的工程结构如下:

    6,在src目录下创建junit测试类(后有优化方法和代码)

    右键com.duo.util包,新建“测试类”:CalculateTest

     基本代码:

     1 package com.duo.util;
     2 
     3 import static org.junit.Assert.*;
     4 
     5 import org.junit.Test;
     6 
     7 public class CalculateTest {
     8 
     9     
    10     @Test
    11     public void testAdd(){
    12         assertEquals(6, new Calculate().add(4, 2));
    13     }
    14 
    15 }

    7,运行结果:

    三,优化:

    优化主要是两方面优化:

    A,结构优化:业务代码和测试代码分离,使结构清晰

    B,测试方法优化:可能一个测试类中有N多方法,不可能一个个手动复制粘贴那个人肉操作;工具能够处理的事情还是交给工具做,提高效率;个人还是专注于业务代码较为合适和正道;

    优化开始:

    A ,结构优化:业务代码和测试代码分离

    1,新建“源文件”夹:右键工程结构名junit4Demo2->Source Folder->test

    可以和第二部分的第7步骤的工程结构作对比

    B,测试方法优化:

    1,通过工具自带的方法可以一次性生成被测试类的所有方法:

    右键test/com.duo.util,选择JUnit Test Case选项:

    Next:

    可能有时候下面的红框部分没有对应的被测试类:通过点击“Browse”,输入关键字查询:

    并命名:

    点击“Next”,选择想生成的被测试方法:

    “Finish”即可

    运行结果:

     注:要是想单独运行一个测试方法则可以通过下面方法:展开测试类,选中其中的某一个方法右键运行即可

    三,学习反思

    1,测试方法上必须使用@Test进行修饰

    2,测试方法必须使用public void进行修饰,不能带有任何参数

    3,新建一个源代码目录存放我们的测试方法

    4,测试类的包和被测试类的包保持一致

    5,测试单元中的每一个测试方法必须可以独立测试,测试方法中不能有任何依赖

    6,测试类使用Test作为后缀(不是必须)

    7,测试方法使用test作为方法的前缀(不是必须)

  • 相关阅读:
    使用vim + cscope/ctags
    python类库32[序列化和反序列化之pickle]
    Perforce2012新特征=20个用户免费+云
    Linux进程的uid和euid
    perl安装模块到自己的home ( install perl module without root)
    Python分布式+云计算
    Linux命令xargs+cut
    python实例32[简单的HttpServer]
    Python转载[编码规范]
    Linux命令lsof
  • 原文地址:https://www.cnblogs.com/august-shi/p/6719863.html
Copyright © 2011-2022 走看看