Junit 常用注解:
@Test(excepted=XX.class) 指定测试方法可能抛出的异常,并将其扑捉,测试方法不爆error。
@Test(time=毫秒) 指定测试方法执行的超时时间,
@RunWith(*.class) 指定 junit 运行器 继承自org.junit.runner.Runner.java 抽象类
@BeforeClass 因为类加载执行,修饰方法为STATIC,常用于加载资源
@AfterClass 最后执行 ,修饰方法STATIC ,常用于关闭 数据库资源
@before @after 作用于每个测试方法
断言: 只需静态导入import static org.junit.Assert.*;
assert*****()
测试套件: 用于批量执行多个测试用例
@RunWIth(Suite.class) 需指定Suite运行器
@Suite.SuiteClasses({xx.class,xx.class})
参数化配置:用于针对单个测试用列 指定多组数据的重复测试
@RunWith(Parameterized.class)
具体可参考底部引用:
@RunWith(Parameterized.class)
public class ParameterTest {
/*
* 1.更改默认的测试运行器为RunWith(Parameterized.class)
* 2.声明变量来存放预期值 和结果值
* 3.声明一个返回值 为Collection的公共静态方法,并使用@Parameters进行修饰
* 4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
*/
int expected =0;
int input1 = 0;
int input2 = 0;
@Parameters
public static Collection<Object[]> t() {
return Arrays.asList(new Object[][]{
{3,1,2},
{4,2,2}
}) ;
}
public ParameterTest(int expected,int input1,int input2) {
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
}
@Test
public void testAdd() {
assertEquals(expected, new Calculate().add(input1, input2));
}
}
spring与 hibernate的整合测试
1,添加spring,hibernate,MySQL等jar包
2,添加spring配置文件(SessionFactory bean引用Hibernate配置文件),hibernate配置文件
3,@BeforeClass获得spring的配置文件ClassPathXmlApplicationContext("spring配置文件")
4,测试通过getBean获得spring管理的bean是否成功。
public class SpringAndHibernate {
private static ApplicationContext context;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
@Test
public void test() {
SessionFactoryImpl bean = (SessionFactoryImpl) context.getBean("sessionFactory");
System.out.println(bean);
}
}