首页 > 编程语言 >Java教程:Springboot项目如何使用Test单元测试

Java教程:Springboot项目如何使用Test单元测试

时间:2023-05-01 17:22:31浏览次数:46  
标签:Java Springboot Application 单元测试 SpringBootTest 测试 Test class

今天早上来公司 领导突然分配了任务,就是简单的测试一下实体的添加修改功能,要使用到Juntil单元测试,目前使用springboot项目,jpa,maven管理,回忆起曾经用到过@Test注解,于是开始唰唰唰的写起了测试咧,然鹅,一顿报错,依赖无法注入,空指针,乱七八糟的一大通,无奈开始借助百度,终于实现了单元测试,非常省事

首先springboot针对自己的结构有一套@springbootTest专用的单元测试,可以直接运行,并自动的注入各种依赖,

第一步 先加入pom包:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
</dependency>

  第二部 编写实体类,Dao层分支,省略代码

唰唰唰------

第三部 编写测试类

实例代码

/**
 * 测试类-控制层
 *
 * @author [email protected]
 * @version 2020-4-29 17:32:44
 */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class BillTest {

    /**
     * 注入按钮-Dao
     */
    @Autowired
    private BillDao<Bill, Long> billDao;

	/**
	 * 测试方法
	 *
	 * @author [email protected]
	 * @version 2020-4-29 17:32:44
	 */
    @Test
    public void test(){
        Bill bill=new Bill();
        bill.setCreateTime(DateUtils.getCurrentDateTime_19());
        try {
            billDao.save(bill);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

  注意这个类上面必须加入

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
这两个注解,具体什么意义,暂未有时间研究,切忌只可引入上文加入的pom包,不可引入其他,否则测试报错,

**文中Application.class 中Application为项目启动类名

测试类编写在@Test注解下 ,鼠标移动@Test点击运行,熟悉的画面,完美运行,,出现蓝色横杠,尚未截图,数据成功保存在数据库中

————————————————
版权声明:本文为CSDN博主「首席摸鱼师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wfeil211/article/details/105844340

标签:Java,Springboot,Application,单元测试,SpringBootTest,测试,Test,class
From: https://www.cnblogs.com/wwssgg/p/17366721.html

相关文章

  • java-echart报表插件使用笔记
    java-echart报表插件使用笔记  报表插件Echart java类 packagecom.spring.controller;importjava.io.IOException;importjava.util.Arrays;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjavax.servle......
  • JAVA创建线程的方式总结
    1.继承Thread类通过继承Thread类,并重写它的run方法,就可以创建一个线程。publicclassTestThread1extendsThread{publicTestThread1(Stringname){super(name);}@Overridepublicvoidrun(){System.out.println(Thread.currentTh......
  • java:输入一个字符串,在其中寻找长度最长的,不含重复字符的字符串,如果有多个长度相同的最
    publicclasstest2{publicstaticList<String>findLongestSubstring(Strings){List<String>result=newArrayList<>();intn=s.length();Map<Character,Integer>map=newHashMap<......
  • JavaSE大纲
    jdk8&9新特性Lambda表达式多线程IO流异常CollectionsListMapSet泛型可变参数Collection集合的使用StringBuffer&StringBuilder基本数据类型和字符串的相互转换装箱拆箱日期Arrays工具类&Object类静态内部类&字符串多态,构造方法接口继承封装抽象面向对象......
  • Java线程池中的四种拒绝策略
    CallerRunsPolicy:这是默认的拒绝策略,当线程池队列已满并且无法处理新任务时,将由提交任务的线程来执行该任务。这种策略可以降低新任务的流量,但也会增加提交任务的线程的负载。AbortPolicy:当线程池队列已满并且无法处理新任务时,将抛出RejectedExecutionException异常,阻止新任......
  • JAVA的Jdbc连接Access数据库
      Eclipse加入Access_JDBC30.jar:   程序如下:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;publicclassconn{publicstaticStringconnct(){try{......
  • SpringBoot项目使用 validation进行数据校验
    validation进行数据校验@Validated注解和@Valid注解都是SpringFramework中用于数据校验的注解,但它们有以下几点区别:所在包路径不同:@Valid注解位于javax.validation.constraints包下,而@Validated注解位于org.springframework.validation.annotation包下。支持......
  • Java内部类与匿名类
    内部类定义:一个类的内部又完整的嵌套了另一个类结构,被嵌套的类就被我们称为内部类,嵌套内部类的类被我们称为外部类//外部类classOuter{ //内部类 classInner { }}packageInnerclass;//外部其他类publicclassc1{}classOuter{//属性private......
  • java 基础(5)在idea中对java程序打包运行
    第一步 第二步 第三步  src目录下 第四步   第五步:  ......
  • Springboot @Test 给Controller接口 写 单元测试
    Springboot@Test给Controller接口写单元测试https://blog.csdn.net/qq_35387940/article/details/129140984?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-129140984-blog-103569814.235%5Ev32......