您的位置:首页 > 编程语言 > Java开发

使用SpringJUnit4ClassRunner进行单元测试+常用的断言方法

2015-04-16 18:40 525 查看
需要的jar包:

spring-test-3.2.2.RELEASE.JAR

导入的import类:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;


测试类Demo:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations ={"classpath:/configuration/spring/beans.xml"})
@Transactional
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
public class TestModule{
    @Test
    public void testAdd() {
        try {
        dao.save(module);
        }catch(Exception e) {
            e.printStackTrace();
        }
        }
}


这里需要对

?
当然这里不污染数据库只是在表中看不到数据, 但是如果你设置的主键是自动增长的话, 那么可以很明显得看出,虽然数据回滚了, 但是当你尝试不回滚新增数据到数据库的时候, 会发现ID不是连续的.所以并不是真正意义上的无污染

当然,这种方式也有他的好处,比单纯JUNIT要省去@before ,@after的方法.

Junit assert

junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。

1.assertTrue/False([String message,]boolean condition);

判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。

2.fail([String message,]);

失败,可以有消息,也可以没有消息。

3.assertEquals([String message,]Object expected,Object actual);

判断是否相等,可以指定输出错误信息。

第一个参数是期望值,第二个参数是实际的值。

这个方法对各个变量有多种实现。在JDK1.5中基本一样。

但是需要主意的是float和double最后面多一个delta的值。

4.assertNotNull/Null([String message,]Object obj);

判读一个对象是否非空(非空)。

5.assertSame/NotSame([String message,]Object expected,Object actual);

判断两个对象是否指向同一个对象。看内存地址。

7.failNotSame/failNotEquals(String message, Object expected, Object actual)

当不指向同一个内存地址或者不相等的时候,输出错误信息。

注意信息是必须的,而且这个输出是格式化过的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐