异常也是单元测试的一部分,java开发中,如何利用JUnit测试异常呢。
总结下来有两种方法,一种是注解,一种是try-catch,我们先来实现一个异常类
public class MyException extends RuntimeException{ //....omit }
需要测试的方法
public class MyClass{ public void execute(){ throw new MyException("A"); } }
1.注解方式非常简单,如下
public class MyTest{ @Test(expected=MyException.class) public void testExecute(){ MyClass myclass = new MyClass(); myclass.execute(); } }
2.try-catch模式的异常测试类虽然比较麻烦,但是可以验证更多信息,如下
public class MyTest{ @Test public void testExecute(){ MyClass myclass = new MyClass(); try{ myclass.execute(); //跳到这步说明没有抛出异常,需要向测试框架报错 fail("the test should throw a exception!"); }catch(MyException ex){ //跳到这里代表测试成功,进一步验证消息 assertEquals("A",ex.getMessage()); } } }
相关推荐
Junit 异常测试demo 适合于java白盒测试初学者。这是一个很好地很简单的例子。
单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块(对象),进行正确性检验的测试工作。其目的在于发现各模块内部... 错误处理测试:测试异常处理是否正确 边界测试:测试数据边界情况,例如 大于 等于
很多时候,我们要写一些单元测试来测试我们程序是否能正确触发异常。 比如下面的例子中,我们就写了一个test case来测试一个Email验证类EmailAddrValidator,这个类有一个doValidate(email)方法可以验证email是否...
本文档ppt讲述了软件测试及单元测试的概念及区别、Junit框架概念及基本应用,并有详细的代码示例、异常测试的概念的测试代码、 超时测试的概念及测试代码、忽略测试的概念及测试代码、Mock学习及前后端代码调试、...
@Before:在每一个测试方法执行前执行的方法,用于初始化方法 @After:在第一个测试方法执行后执行的方法,用于释放资源 @Test:标志该方法为测试方法,在此可以测试期望异常和超时时间 @Ignore:标志该方法为忽略...
JUnit知识点滴集合笔记,这个包里面包括了好几篇文档,一定会让你对JUNIT有一个全新的认识。...JUnit中如何测试异常.doc XP 单元测试工具Junit 源代码学习.doc 如果你觉得好的话,给个好评,谢谢大家!
用JUnit进行单元测试使用JUnit测试一组方法(最大和总和)要求完整的NumberUtil.java 使用流实现max和sum方法。 在这些方法中,如果列表为空,则引发异常。编写一个JUnit测试类 在您的系统上安装JUnit。 通过使用...
创建了一个JUnit测试来测试有效的DAG图排序算法。 可以使用以下命令运行: java -cp .:junit.jar:hamcrest-core.jar org.junit.runner.JUnitCore DAGSortTest 这不会测试特定的输出,而是测试符合拓扑顺序的一般...
junit4.9.jar 单元测试! @Before:在每一个测试方法执行前执行的方法,用于初始化方法 @After:在第一个测试方法执行后执行的方法,用于释放资源 @Test:标志该方法为测试方法,在此可以测试期望异常和超时时间 @...
Junit单元测试相关jar工具。包含:hamcrest-core-1.3和junit-4.13.1 ...单元测试的测试用例要覆盖常用的输入组合、边界条件和异常。 单元测试代码要非常简单,如果测试代码太复杂,那么测试代码本身就可能有bug。
主要介绍了Java的异常测试框架JUnit使用上手指南,JUnit是Java代码进行单元测试中的常用工具,需要的朋友可以参考下
对于每种正常、异常情况下的测试,运行结果是什么、结果是否是我们预期的等都需要有个明确的定义,JUnit在这方面提供了强大的功能。 以上部分与我们平常使用IDE调试的过程是完全一样的,只不过是增加了测试用例管理...
@Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass 针对所有测试,只执行一次,且必须为static void @AfterClass 针对所有测试,只执行一次,且必须为static void @RunWith ...
重构您的第一个JUnit测试步骤05:第二个JUnit示例assertTrue和assertFalse步骤06:@Before @After步骤07:@BeforeClass @AfterClass步骤08:比较JUnit测试中的数组步骤09:测试JUnit中的异常测试步骤10:在JUnit测试...
主要要求考察学生对日期边界以及异常处理的测试的能力。 实现 NextdayTest.java package net.test; import static org.junit.Assert.*; import static org.junit.matchers.JUnitMatchers.containsString; import ...
junit的jar包,@Test测试需要
该项目提供了一种创建大量 JUnit 测试的机制,理论上,这些测试将覆盖测试用例的问题空间。 它旨在具有以下功能: TestCase runner 将生成测试类中包含的模糊注释所描述的测试的所有排列。 模糊注解将提供一种机制...
您将了解如何在一些关键的地方(如测试声明、异常测试以及超时测试)使用注释,以及如何忽略不想要或无用 的测试.
我们一旦知道代码能按我们的意愿正常工作,就开始为异常条件编写测试,以确保哪怕出了问题代码也能 正常工作。 第4章:讲述不同类型的软件测试以及他们在应用生命周期中扮演的角色,并讲述如何为可测试性设计。如 ...
DSpot是一种在JUnit测试中生成缺少断言的工具。 DSpot将带有现有测试套件的Java项目作为输入。 DSpot从现有的测试用例中生成新的测试用例,并将其写入磁盘。 DSpot支持使用Maven和Gradle构建的Java项目(请参阅--...