【单元测试】任务3:JUnit assertThat断言

1. 任务前置知识

2. 任务周期安排

3. 任务参考文档

4. 任务实现要求

4.1. Eclipse引入相关包

4.2. JUnit assertThat断言方法—一般匹配符

4.3. JUnit assertThat断言方法—字符串相关匹配符

4.4. JUnit assertThat断言方法—数值相关匹配符

4.5. JUnit assertThat断言方法—集合相关匹配符


需要技能竞赛软件测试资料的同学们可s聊我,详细了解

1. 任务前置知识

  • Java程序设计:掌握Java基础使用;
  • Eclipse:掌握Eclipse中jar包的导入操作;
  • JUnit:掌握JUnit assertThat断言的语法使用。

2. 任务周期安排

共3学时,任务内容如下:

  • Eclipse项目中引入相关包;
  • JUnit assertThat断言—一般匹配符;
  • JUnit assertThat断言—字符串相关匹配符;
  • JUnit assertThat断言—数值相关匹配符;
  • JUnit assertThat断言—集合相关匹配符。

3. 任务参考文档

  • Junit相关jar包;
  • Hamcrest-core相关jar包;
  • Hamcrest-library相关jar包。

4. 任务实现要求

4.1. Eclipse引入相关包

  • 删除JUnit;
  • 在Eclipse项目中引入Hamcrest、JUnit包。

4.2. JUnit assertThat断言方法—一般匹配符

        使用JUnit assertThat给下面的代码段设计测试类,写出测试方法并执行测试,使用assertThat中的allof、anyof、anthing、is、not来进行判断。

        具体要求如下:

  • 减法方法计算10-7,判断计算的值在2和4之间;
  • 减法方法计算10-7,判断计算的值大于2或者小于1;
  • 减法方法计算10-7,判断计算的值大于4或者小于7;
  • 减法方法计算10-7,判断无论什么条件都测试通过;
  • 减法方法计算10-7,判断是否等于3;
  • 减法方法计算10-7,判断不等于2;
  • 除法方法计算8/4,判断计算的值在1和3之间;
  • 除法方法计算8/4,判断计算的值大于1或者小于1;
  • 除法方法计算8/4,判断计算的值大于8或者小于3;
  • 除法方法计算8/4,判断无论什么条件都测试通过;
  • 除法方法计算8/4,判断是否等于2;
  • 除法方法计算8/4,判断不等于1。
public class AssertThat2 {
    private static int result;
    public void substract(int m, int n) {
        result = m - n;
    }       
    public void divide(int m, int n) {
        result = m / n;
    }
    public void clear() {
        result = 0;
    }
    public int getResult() {
        return result;
    }
} 

4.3. JUnit assertThat断言方法—字符串相关匹配符

        使用JUnit assertThat给下面的代码段设计测试类,写出测试方法并执行测试,使用assertThat中的containsString、endsWith、startsWith、equalTo、equalToIgnoringCase、equalToIgnoringWhiteSpace来进行判断。

        具体要求如下:

  • 信息为:名称“Tomcat”、年龄“5”;
  • 判断名称中是否包含“om”;
  • 判断名称是否以“To”开头;
  • 判断名称是否以“at”结束;
  • 判断名称是否是“Tomcat”;
  • 判断名称忽略大小写是否同“tomCat”一致;
  • 判断名称忽略头尾空格是否同“ Tomcat ”一致;
  • 判断年龄是否是“5”。
public class Pet {
    private static String name;
    private static int age;
    public Pet(String namep,int agep) { 
        name = namep;
    age = agep;		
    }  
    //获取名称
    public String getName() {
        return name;		
    }
    //获取年龄
    public int getAge() {
        return age;
    }
} 	

4.4. JUnit assertThat断言方法—数值相关匹配符

        使用JUnit assertThat给下面的代码段设计测试类,写出测试方法并执行测试,使用assertThat中的closeTo、greaterThan、lessThan、greaterThanOrEqualTo、lessThanOrEqualTo来进行判断。

        具体要求如下:

  • 减法方法计算8.8-7.5,判断计算的值大于1或者小于2;
  • 减法方法计算8.8-7.5,判断计算的值大于等于1或者小于等于1.5;
  • 减法方法计算8.8-7.5,判断计算的值在1±0.5范围内并且也在2±0.8范围内。
public class AssertThat {
    private static double result;
    public void substract(double m, double n) {
        result = m - n;
    }
    public void clear() {
        result = 0;
    }
    public double getResultOne() {
        return result;
    }	
}  	

4.5. JUnit assertThat断言方法—集合相关匹配符

        使用JUnit assertThat给下面的代码段设计测试类,写出测试方法并执行测试,使用assertThat中的hasItemInArray、hasItem、hasItems、containsInAnyOrder、hasEntry、hasKey、hasValue来进行判断。

        具体要求如下:

  • 方法一传入数据("ABC","DEF","GHI"),判断数组中是否包含以“DE”开头的元素;
  • 方法二传入数据("Magci","Fred","Hero","Alice"),判断集合中是否有“e”结尾的元素;
  • 方法二传入数据("Magci","Fred","Hero","Alice"),判断"Magci","Fred"在集合中并且"Tom","Cat"不在集合中;
  • 方法二传入数据("Magci","Fred","Hero","Alice"),判断集合中是否只包含"Magci","Fred","Hero","Alice"四个元素或者只包含"Fred","Hero"两个元素;
  • 方法三传入数据("name","Fred","age","18"),判断集合中键值对"name","Fred"或者键值对"age","18";
  • 方法三传入数据("name","Fred","age","18"),判断集合中不包含键值"weight";
  • 方法三传入数据("name","Fred","age","18"),判断集合中包含忽略大小写的元素值"fred"。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AssertThat {
    //方法一
    public String[] getString(String a,String b,String c) {  
        String[] s = {a,b,c};
        return s;  
    } 
    //方法二
    public List<String> getList(String al,String bl,String cl,String d1) {  
        List<String> l = new ArrayList<String>();
        l.add(al);
        l.add(bl);
        l.add(cl);
        l.add(d1);
        return l;  
    }  
    //方法三  
    public Map<String, String> getMap(String keyo, String valueo,String keyt, String valuet) {
        Map<String, String> m = new HashMap<String, String>();
        m.put(keyo, valueo);  
        m.put(keyt, valuet);  
        return m;  
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不懂竞赛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值