最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考. 在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常.例如,我有一个方法,里面对一个List进行读取操作,可能会抛出IndexOutOfBoundsException,我希望在单元测试中通过测试保证该方法会正确的抛出正确类型的异常.总结起来这样的测试异常是否被正确抛出的方法有三种: 1. try…fail...catch… @Test public voidtestExceptionMessage…
在JUnit中@BeforeClass和@AfterClass标注的方法必须是static的:但是在TestNg中却没有这样的限制,这是为什么呢. 其实和他们两的运行机制有关. 在junit中: 每运行一个@Test方法,就会为该测试类新建一个新的实例.(所以@BeforeClass和@AfterClass必须是static的,因为运行他们的时候,测试类还没有实例化呢.) 有没有发现这有助于提高测试方法之间的独立性,因为每个@Test执行的时候,都新建了一个实例,这样的话,可以避免测试方法之间重…
1)提供的接口数量不完全相同.assertEquals支持boolean,long,int等等java primitiveType变量.assertSame只支持Object. 2)比较的逻辑不同,结果可能不同.assertSame是对象直接比较.assertEquals能利用被比较对象提供的比较逻辑来进行比较.使得同样的条件下,两者的运行结果不一定相同.简单解释如下:assertEquals(Object A,  Object B) 的比较逻辑:如果 A,B都是Null,返回true.否则调用…
在junit4.12之后,Assert就过时了,提供了TestCase来取代: 同样在TestCase中原本比较常见的一些方法也已经取消了,例如:assertNotEquals.assertThat.assertArraysEquals. 自己写了一个MathUtil方法,代码很简单,就不贴了: package a_junit; import org.junit.Test; import junit.framework.Assert; import junit.framework.TestCas…
junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condition);    判断一个条件是true还是false.感觉这个最好用了,不用记下来那么多的方法名. 2.fail([String message,]);    失败,可以有消息,也可以没有消息. 3.assertEquals([String message,]Object expected,Ob…
junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condition);    判断一个条件是true还是false.感觉这个最好用了,不用记下来那么多的方法名.2.fail([String message,]);    失败,可以有消息,也可以没有消息.3.assertEquals([String message,]Object expected,Obje…
Eclipse中如何开启断言(Assert),方法有二:1.Run -> Run Configurations -> Arguments页签 -> VM arguments文本框中加上断言开启的标志:-enableassertions 或者-ea 就可以了2.在myEclipse中,Windows -> Preferences ->Java ->Installed JREs ->点击正使用的JDK ->Edit ->Default VM Argumen…
try { // 反射读取properties文件 new BufferedReader(new FileReader(myConfigPath[4])); //上面没有抛出异常就是执行fail, //在java.lang.AssertionError:括号中的字符串 fail("这是Junit中fail有的,试一下"); }catch (FileNotFoundException e) { e.printStackTrace( ); System.out.println("…
测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 PrivateMethod.java package com.junit3_8; public class PrivateMethod { //私有方法 private int add(int a, int b) { return a +b ; } } 测试程序 PrivateMethodTest.java…
转自:http://www.coderli.com/junit-spring-test-applicationcontext JUnit单元测试用例中使用Spring框架,直接方式如下. @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/spring/applicationContext.xml" }) public class SpringTest {} 想要获取Applicat…