博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Junit (二) 断言
阅读量:5814 次
发布时间:2019-06-18

本文共 1338 字,大约阅读时间需要 4 分钟。

    昨天介绍了一下Junit 的简单用法,今天介绍一下断言的用法。

一、 如何生成测试类

(1) 选中要生成测试类的代码目录,也就是包。单击鼠标右键,在弹出的菜单中选择new-->Junit Test Case,如下图所示:

(2)  在添加新的Junit单元测试用例对话框中,Name处填写单元测试类的名称,一般情况下默认的命名规则是:要测试的类名+Test.java。在Class under test处选择要测试的类。如下图所示:

二、使用断言

    断言通常用来在Junit中判断测试结果是否和预期值一致,比如说下面的一段代码。如果两个参数的和是8,则测试通过,反之则测试不通过。

1
2
3
4
5
6
7
8
        
@Test
    
public 
void 
testAdd() {
        
//fail("Not yet implemented");
        
int 
sum = 
new 
T().add(
5
3
);
         
        
//判断程序运行结果是否与期望值一致
        
assertEquals(
8
, sum);
    
}

当测试结果是绿色时表示期望值与程序运行结果值一致,表示测试通过。这里可以看到有两个标志:errors和failures。error表示程序错误,failure表示断言测试没有通过,即期望值与当前测试结果不一致。如下图所示:

Junit中包含的断言方法有很多,这里不再一一赘述。这里介绍一种新的断言API,即 hamcrest.

三  hamcrest 的使用

 hamcrests是个单元测试的API,里面包含很多单元测试的方法,其中断言的写法与Junit不相同,当时功能却比Junit丰富。例如下面的代码中的assertThat()方法的写法。如果sum的值小于8,则显示字符串"assertThat"。

1
2
3
4
5
6
7
8
9
10
    
@Test
    
public 
void 
testAdd2() {
        
//fail("Not yet implemented");
        
int 
sum = 
new 
T().add(
5
3
);
         
        
//判断程序运行结果是否与期望值一致
        
assertEquals(
8
, sum);
        
//assertTrue("This is TestString",8>sum);
        
assertThat(
"assertThat"
,
8
>sum);
    
}

hamcrest 有很多断言的写法,例如:

1
2
3
4
5
6
//判断n的值是否比1大,比15小
assertThat(n, allOf( greaterThan(
1
), lessThan(
15
)));
//判断n的值是否比16大,或者是否比8小
assertThat(n, anyOf( greaterThan(
16
), lessThan(
8
)));
//判断n的值是否以“xxxx”结尾
assertThat(str, endsWith(
"xxxx"
));

关于其它断言的具体写法这里不再讨论,感兴趣的朋友可以下载hamcrest 的API文档进行详细研究。

本文转自 乌英达姆 51CTO博客,原文链接:http://blog.51cto.com/7156680/1978277

转载地址:http://grtbx.baihongyu.com/

你可能感兴趣的文章
WCF
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
Android实例-录音与回放(播放MP3)(XE8+小米2)
查看>>
CSS——(2)与标准流盒模型
查看>>
MYSQL 基本SQL语句
查看>>
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
shell编程笔记六:实现ll命令
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
[nodejs] nodejs开发个人博客(五)分配数据
查看>>
《Linux内核修炼之道》 之 高效学习Linux内核
查看>>
Java数据持久层框架 MyBatis之API学习九(SQL语句构建器详解)
查看>>
30分钟Git命令“从入门到放弃”
查看>>
nginx : TCP代理和负载均衡的stream模块
查看>>
MYSQL数据库间同步数据
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>