`
tigerli
  • 浏览: 99436 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JUNIT代码的一种编写方式

    博客分类:
  • JAVA
阅读更多
我用的是Junit4,编写如下基类
java 代码
 
  1. import java.io.IOException;  
  2. import java.io.InputStream;  
  3. import java.util.InvalidPropertiesFormatException;  
  4. import java.util.Properties;  
  5.   
  6. import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;  
  7.   
  8. public abstract class SpringBaseTestCase extends AbstractTransactionalDataSourceSpringContextTests {  
  9.   
  10.     protected Properties properties;  
  11.   
  12.     public void onSetUpInTransaction() throws InvalidPropertiesFormatException, IOException {  
  13.         properties = new Properties();  
  14.         InputStream is = ClassLoader.getSystemResourceAsStream(getTestFixturePropertyFile());  
  15.         if (is != null) properties.loadFromXML(is);  
  16.         loadSet();  
  17.     }  
  18.   
  19.     private String getTestFixturePropertyFile() {  
  20.         return getClass().getSimpleName() + ".xml";  
  21.     }  
  22.   
  23.     protected void loadSet() {  
  24.         // String test = properties.getProperty(this.getName() + "_pid");  
  25.     }  
  26.   
  27.     @Override  
  28.     protected String[] getConfigLocations() {  
  29.         return new String[] { "applicationContext-hibernate.xml" };  
  30.     }  
  31. }  

子类:
java 代码
 
  1. import org.junit.Test;  
  2.   
  3. import basic.SpringBaseTestCase;  
  4. import basic.User;  
  5.   
  6. public class PointsDaoImplTest extends SpringBaseTestCase {  
  7.   
  8.     private IPointsDao pd;  
  9.     private int pidx;  
  10.     private int points;  
  11.     private int lockPoints;  
  12.     private int activePoints;  
  13.   
  14.     public void loadSet() {  
  15.         pd = (IPointsDao) applicationContext.getBean("pointsDao");  
  16.         pidx = Integer.valueOf(properties.getProperty(getName() + "_userPidx"));  
  17.         setUser();  
  18.     }  
  19.   
  20.     private void setUser() {  
  21.         User user = new User();  
  22.         user.setPidx(String.valueOf(pidx));  
  23.         pd.setUser(user);  
  24.     }  
  25.   
  26.     @Test(expected = java.lang.IllegalArgumentException.class)  
  27.     public void testSetUserIllArgument() {  
  28.         pd.setUser(null);  
  29.     }  

数据文件:
xml 代码
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
  3.   
  4. <properties>  
  5.     <!-- testSetUser -->  
  6.     <entry key="testSetUserIllArgument_userPidx">12</entry>  
  7.     <entry key="testSetUserIllArgument_points">20</entry>  
  8.     <!-- testGetUserPoints -->  
  9.     <entry key="testGetUserPoints_userPidx">13</entry>  
  10.     <entry key="testGetUserPoints_points">44</entry>  
分享到:
评论

相关推荐

    什么是 junit单元测试,及其作用.md

    **JUnit单元测试**是一种用于Java编程语言的单元测试框架,它可以帮助开发者编写和运行可重复的自动化测试,以验证代码中的各个单元(通常是一个类或方法)是否按照预期工作。单元测试是软件开发中的一个重要环节,...

    junit实现过程.doc

    白箱测试是指在知道被测试的软件如何(How)完成功能和完成什么样(What)的功能的条件下所作的测试,一般是由开发人员完成,单元测试是一种白箱测试,因为开发人员最了解自己编写的软件。JUnit是由 Erich Gamma 和 ...

    循序渐进学习JUnit

    使用JUnit可以大量减少Java代码中程序错误的个数,JUnit是一种流行的单元测试框架,用于在发布代码之前对其进行单元测试。现在让我们来详细研究如何使用诸如JUnit、Ant和Oracle9i JDeveloper等工具来编写和运行单元...

    Junit In Action 学习笔记----下载不扣分,回帖加1分,童叟无欺,欢迎下载

    阅读指引: 第一部分:Junit精粹 第1章:带着你为一个简单的对象创建测试。在此过程中介绍了单元测试的好处,... 第7章:展示了Mock object方法,这是一种让你可以把代码从周围领域对象隔离出来的测试的方法。 ......

    使用JUnit进行容器内测试

    单元测试作为一种确保代码质量的技术现如今非常流行。由于有了JUnit框架,因此为简单的Java应用程序编写单元测试就变得容易多。然而,对于真实世界的企业应用程序来说,因为这些应用程序需要对象在容器内运行,所以...

    循序渐进学习Junit

    使用JUnit可以大量减少Java代码中程序错误的个数,JUnit是一种流行的单元测试框架,用于在发布代码之前对其进行单元测试。现在让我们来详细研究如何使用诸如JUnit、Ant和Oracle9iJDeveloper等工具来编写和运行单元...

    代码之美(中文完整版).pdf

    23.4 分布式MapReduce的一种实现 23.5 模型扩展 23.6 结论 23.7 进阶阅读 23.8 致谢 23.9 附录:单词计数解决方案 第24章 美丽的并发 24.2 软件事务内存 24.3 圣诞老人问题 24.4 对Haskell的一些思考 24.6 致谢 第25...

    毕业设计--网上书店前后台系统。.zip

    Java是一种高性能、跨平台的面向对象编程语言。它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势...

    JUnit_Tutorial

    Initializr提供了一种快速的方法来提取应用程序所需的所有依赖项,并为您完成了许多设置。 该示例仅需要Spring Web依赖项。 您可以直接从获取具有必要依赖项的Maven构建文件。 以下清单显示了选择Mave

    gwt-test-utils:gwt-test-utils是一个Java框架,允许以高效,简便的方式测试GWT客户端代码

    它提供了一种简单的方法来为GWT客户端代码编写快速的Java测试,而无需GWTTestCase或任何servlet容器实例! 这意味着您可以不受限制地使用任何Java工具:JUnit,反射,Easymock,Mockito等。 编写测试如下所示: @...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    持续测试:将错误扼杀在摇篮之中

    在极限编程中,测试驱动开发已经被证明是一种有效提高软件质量的方法。在测试驱动的开发方式中,软件工程师在编写功能代码之前首先编写测试代码,这样能从最开始保证程序代码的正确性,并且能够在程序的每次演进时...

    EvoMaster:一种用于自动生成系统级测试用例的工具。 当前针对REST API

    EvoMaster:一种自动生成系统级测试用例的工具概要EvoMaster ( )是一种自动生成系统级测试用例的工具。 在内部,它使用和来生成有效的测试用例。 该方法是从最初的随机样本中演化出测试用例,以尝试最大化诸如代码...

    Spring in Action(第二版 中文高清版).part2

    2.4.1 四种自动装配类型 2.4.2 混合使用自动和手动装配 2.4.3 何时采用自动装配 2.5 控制Bean创建 2.5.1 Bean范围化 2.5.2 利用工厂方法来创建Bean 2.5.3 初始化和销毁Bean 2.6 小结 第3章 高级Bean装配 ...

Global site tag (gtag.js) - Google Analytics