zoukankan      html  css  js  c++  java
  • Web 单元测试

    问题描述:

    The import org.junit.Test conflicts with a type defined in the same file

    导入的org.junit.Test和一个相同的文件之间发生冲突

    问题代码:

        @Test
        public void test() throws SQLException
        {
            QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
            
            String sql = "select * from user";
            
            //依据的是set和get方法
            //需要setFoo()和表中的字段名foo保持一致
            //BeanListHandler<>将查询结果封装到对象
            List<User> users = qr.query(sql, new BeanListHandler<User>(User.class));
            
            for(User user:users)
            {
                System.out.println(user);
            }
        }

    问题分析:

    写junit测试的Java类名为Test,而org.junit.Test中有一个封装好的是类Test.class ,二者重名,故发生冲突

    问题解决:

    修改类名

    问题总结:

    在有的web项目中,有时需要对一个方法进行检查和验证,显然,不能通过main方法获得运行结果,此时就引入了“单元测试”的概念
      JUnit是一个Java语言的单元测试框架
      JUnit的两种主要版本是JUnit 3.8和JUnit 4,前者使用反射,后者使用反射和注解
      在使用时需要引入JUnit.jar,然后在需要测试的方法上直接使用@Test表明这是一个测试方法

    仅仅引入JUnit.jar是不够的,junit官方给的包还包含了hamcrest,junit和hamcrest是两个不同的框架,不同的东西,所以这两个包要同时导入

    命名时要注意类名和包名不要直接命名为Test

    使用org.junit.Test的声明为Test的类,没有返回值,可以不通过main方法直接运行
  • 相关阅读:
    NHibernate初学二之简单执行SQL及HQL、Linq
    NHibernate初学一之简单增删改查
    System.Func<>与System.Action<>
    C# Lambda表达式
    Lambda表达式详解
    发布订阅者模式之C#委托实现
    在WCF中实现双工通信
    设计模式---订阅发布模式(Subscribe/Publish)
    flex基础示例
    活动倒计时-兼容ios
  • 原文地址:https://www.cnblogs.com/roxy/p/7487126.html
Copyright © 2011-2022 走看看