Java之------JUnit(一)
2016-05-06 14:01
597 查看
JUnit软件测试技术(工具)
注:本篇博客主要讲JUnit的使用方法
在项目中建立专门用户测试的包结构。
在Junit中,通过@Test注解,可以单独运行一个方法,即在一个方法上面一行加一句@Test。
★ Junit注解说明
使用了@Test注解应该满足以下条件:
1)、必须是无参数的非静态方法。
2)、添加@Test注解的类,必须拥有一个无参数的公开构造方法
★ JUnit测试示例演示
1、运行完成后,可以在Junit的窗口上看到运行所用的时间和结果信息。
2、被测试程序的运行结果出现在控制台(Console)上。
★ JUnit中的其它注解
@BeforeClass(在整个类之前运行一次,要用static 修饰符)
@AfterClass(在整个类之后运行一次,要用static 修饰符)
@Before(在每个测试方法前运行一次)
@After(在每个测试方法后运行一次)
通常我们在做软件的时候往往需要进行测试,传统的方法是在需要测试的类中写一个main方法进行测试,但这种方法有着缺点,因为软件发布出去时需要将main方法删去,若软件出bug客户将软件退回来维护,那测试起来就很麻烦,于是采用JUnit另外新建测试包,并且原则上要和软件的分层模式一样建包进行测试。
简单举例(下面的例子为了便利就没有按照软件分层的方式对测试类进行分类了):
1、软件项:
接口:
2、测试项(测实现类):
注:运行方式为:将光标放到加了@Test的方法名再右击方法名,选择Run As,再选择JUnit Test即可单独运行一个测试方法;若要同时对所有的测试方法进行测试,则可将光标放到@Test标记处再按照同样的方法操作
JUnit界面为:
JUnit界面为:
注:本篇博客主要讲JUnit的使用方法
在项目中建立专门用户测试的包结构。
在Junit中,通过@Test注解,可以单独运行一个方法,即在一个方法上面一行加一句@Test。
★ Junit注解说明
使用了@Test注解应该满足以下条件:
1)、必须是无参数的非静态方法。
2)、添加@Test注解的类,必须拥有一个无参数的公开构造方法
★ JUnit测试示例演示
1、运行完成后,可以在Junit的窗口上看到运行所用的时间和结果信息。
2、被测试程序的运行结果出现在控制台(Console)上。
★ JUnit中的其它注解
@BeforeClass(在整个类之前运行一次,要用static 修饰符)
@AfterClass(在整个类之后运行一次,要用static 修饰符)
@Before(在每个测试方法前运行一次)
@After(在每个测试方法后运行一次)
通常我们在做软件的时候往往需要进行测试,传统的方法是在需要测试的类中写一个main方法进行测试,但这种方法有着缺点,因为软件发布出去时需要将main方法删去,若软件出bug客户将软件退回来维护,那测试起来就很麻烦,于是采用JUnit另外新建测试包,并且原则上要和软件的分层模式一样建包进行测试。
简单举例(下面的例子为了便利就没有按照软件分层的方式对测试类进行分类了):
1、软件项:
接口:
package cn.hncu.user.DAO; public interface UserDAO { public void fun1() throws Exception; public void fun2(); public void fun3(); }实现类:
package cn.hncu.user.impl; import cn.hncu.user.DAO.UserDAO; public class UserDAOImpl implements UserDAO { @Override public void fun1() throws Exception{ System.out.println("fun1......"); } @Override public void fun2() { System.out.println("fun2......"); } @Override public void fun3() { System.out.println("fun3......"); } }
2、测试项(测实现类):
注:运行方式为:将光标放到加了@Test的方法名再右击方法名,选择Run As,再选择JUnit Test即可单独运行一个测试方法;若要同时对所有的测试方法进行测试,则可将光标放到@Test标记处再按照同样的方法操作
package cn.hncu.test; import org.junit.Test; import cn.hncu.user.impl.UserDAOImpl; public class TestUserDAOImpl { @Test public void testFun1(){ try { new UserDAOImpl().fun1(); } catch (Exception e) { e.printStackTrace(); } } @Test public void testFun2(){ new UserDAOImpl().fun2(); } @Test public void testFun3(){ new UserDAOImpl().fun3(); } }所有测试方法同时运行的结果为:
JUnit界面为:
package cn.hncu.test; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import cn.hncu.user.DAO.UserDAO; import cn.hncu.user.impl.UserDAOImpl; public class TestUserDAOImpl2 { private UserDAO obj=null; @BeforeClass//在整个类之前运行一次,要用static 修饰符 public static void before(){ System.out.println("beforeClass......"); } @AfterClass//在整个类之后运行一次,要用static 修饰符 public static void after(){ System.out.println("afterClass......"); } @Before public void init(){ obj=new UserDAOImpl(); System.out.println("init......"); } @Test public void testFun1(){ try { new UserDAOImpl().fun1(); } catch (Exception e) { e.printStackTrace(); } } @Test public void testFun2(){ new UserDAOImpl().fun2(); } @Test public void testFun3(){ new UserDAOImpl().fun3(); } @After public void finish(){ obj=null; System.out.println("finish......"); } }全部同时运行结果:
JUnit界面为:
相关文章推荐
- myspringdemo 配置(我用的是4.2的)
- java 有用的东西
- Java与WCF交互(一):Java客户端调用WCF服务 【转】
- Java中传值和传引用
- Java与WCF交互(二):WCF客户端调用Java web service【转】
- Java:封装POI实现word的docx文件的简单模板功能
- 如何在 Eclipse 中使用命令行
- java NIO详解
- 【Java】使用CSVUtils生成文件并供下载
- Java:使用Executors创建和管理线程
- java初学者:接口技术文章
- JAVA自学之路1-JDK安装及配置
- 用Jersey构建RESTful服务-JAVA对象转成XML/Json输出
- 导入eclipse项目出错Gradle DSL method not found: 'android()'
- 【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)
- java.lang.String.indexOf()方法
- 4、Ajax与Java交互的案例
- springmvc错误java.lang.IllegalArgumentException
- Java线程专栏文章汇总
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误