junit4单元测试经验总结

来源:互联网 发布:如何购买app软件 编辑:程序博客网 时间:2024/06/17 03:25

1、与spring test测试服务

首先在pom文件中加入

<!-- test framework --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency>

然后创建一个单元测试的基类

import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.transaction.TransactionConfiguration;import org.springframework.transaction.annotation.Transactional;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration({    "classpath:conf/service/spring-context.xml"})@TransactionConfiguration(transactionManager="transactionManager") //可选,默认就是这个@Transactionalpublic class BaseTest  extends AbstractTransactionalJUnit4SpringContextTests{}
最后测试suit类继承BaseTest,即可以启动spring容器,若服务类的方法有spring绑定事务,则最后事务默认会回滚;取消回滚可在测试方法中加上@Rollback(false)注解

2、轻量级性能测试工具contiperf

首先在pom文件中加入

<dependency><groupId>org.databene</groupId><artifactId>contiperf</artifactId><version>2.2.0</version><scope>test</scope></dependency>
然后在测试类中加入属性

@Rule public ContiPerfRule rule= new ContiPerfRule();

测试方法中加入注解

@PerfTest(invocations=200, threads=2, duration=1000)

即可进行简单的性能测试。

存在的问题有:1、事务不回滚;2、spring容器启动时间不好估计,导致第一个测试用例花费是时间不好估计;


0 0