Web 单元测试

Posted 耍流氓的兔兔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法直接运行

 

以上是关于Web 单元测试的主要内容,如果未能解决你的问题,请参考以下文章

单元测试不了解 XCTest 期望的异步 UI 代码?

四则运算单元测试

service层单元测试可以成功,web层测试却不成功,如何解决?

单元测试很棒,但是

词频统计单元测试

第1129期对vue.js单文件(.vue)进行单元测试