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;
}
}