Junit 测试exception
有两种方法:
一、使用ExpectedException
仅在junit4.7以上支持。不仅可以测试捕获到某异常,也可以测试异常message。
使用例子如下:
@Rule
public ExpectedException exception = ExpectedException.none(); @Test
public void shouldThrowExceptionWhenSumGivenOneNegativeNumber() throws Exception {
exception.expect(Exception.class);
exception.expectMessage(containsString("negatives not allowed"));
exception.expectMessage(containsString("-1"));
StringCalculator.calculate("-1,1");
} public static int calculate(String numbers) throws Exception {
throw new Exception("negatives not allowed: -1");
}
注意事项:
1. ExpectedException 必须是public
二、使用annotation
这个只能测存在异常,测不了异常message
使用方法:
@Test(expected = Exception.class)
public void testException() throws Exception {
StringCalculator.calculate("-1,-1");
}
Junit 测试exception的更多相关文章
- junit测试,使用classpath和file 加载文件的区别
用junit测试发现一个问题,怎么加载配置文件?一直都出现这样的错误 ERROR: org.springframework.test.context.TestContextManager - Caug ...
- Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
一.单元测试的目的 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作.以减少我们在发布的时候出现更过甚至 ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- springmvc controller junit 测试
第一次搭建SSM框架,整合SpringMVC完成后进行Controller测试,找资料并解决问题. 下图是我的完整目录: 1 建立UserController类 代码清单 1-1:UserContro ...
- junit测试时,出现java.lang.IllegalStateException: Failed to load ApplicationContext
课程设计要求进行junit测试,我是在已经做好的ssh项目上做的测试,测试类代码如下 package com.zhang.web.services; import static org.junit.A ...
- axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码 项目和资源文档+jar 下载:http://download.csdn. ...
- Wiser的Junit测试用法
package org.jbpm.process.workitem.email; import static org.junit.Assert.assertEquals; import static ...
- junit测试延伸--私有方法测试
关于junit测试的延伸,这里有类概念级别的测试,继承类的测试,接口的测试,抽象类的测试,关于这些类级别的测试,这里我就不做多的赘述了. 关于上面的几个测试就是说,我们不应该单纯的去测试类中的一些方法 ...
- Java进阶(五)Junit测试
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数 ...
随机推荐
- Linux查看用户及分组
cat /etc/group文件包含所有组cat /etc/shadow和cat /etc/passwd系统存在的所有用户名 usermod 或者修改 /etc/passwd文件即可修改当前用户所属组 ...
- golang之包和锁的机制
互斥锁 同一时刻只有一个携程在操作 package main import ( "fmt" "math/rand" "sync" " ...
- python之selenium调用js(execute_script)
转载: http://www.cnblogs.com/fnng/p/3230768.html 本节重点: 调用js方法 execute_script(script, *args) 在当前窗口/框架 同 ...
- console.dir(someObject);
<script type="text/javascript"> function test(){ var array = [{"id":1},{&q ...
- Android AR平台
ARToolkit:https://baike.baidu.com/item/ARToolkit/5726883?fr=aladdin Vuforia:搭建Android AR技术开发环境(Aqume ...
- AndroidStudio-Unable to save settings Failed to save settings. Please restart Android Studio
Unable to save settings Failed to save settings. Please restart Android Studio 解决方法: 删除工程的.idea 然后在 ...
- lucene学习笔记(四)lucene分词详解
分词器的核心类 Analyzer SimpleAnalyzer StopAnalyzer WhitespaceAnalyzer StandardAnalyzer TokenStream 分词器做好处理 ...
- 生成Webservice的两种方式(Axis2,CXf2.x)
一天之中,用了各种方式生成webservice,就是为了node.js能和程序顺利通信.最终还是用axis2成功了.工作基本完成了,现在可以总结一下. 关于生成方式,推荐使用eclipse,比较方便, ...
- 使用python登录CNZZ访问量统计网站,然后获取相应的数据
思路: 第一步:使用pypeteer.launcher打开浏览器, 第二步:向CNZZ的登录(通过使用iframe嵌入的阿里巴巴单点登录页面),向iframe页面中自动输入用户名和密码,然后点击登录按 ...
- vim命令以及gcc编译器的常用cmd
Gcc常用命令: -c 仅对源文件进行编译,不链接生成可执行文件.常用于查错和只生成目标文件. -o 经过gcc处理过后的结果保存在-o后面的文件中,可以是多种文件 ...