自己是如何使用单元测试

这篇具有很好参考价值的文章主要介绍了自己是如何使用单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

自己是如何使用单元测试

进行单元测试能够让我们在编写方法的具体实现代码后,能清晰地看到其是否能实现预期的功能,有助于我们及时修正自己方法中存在的bug,以免在后续使用到某方法时出现意想不到的错误。


一、引入单元测试所使用的依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
            	<!---如果不需要junit4就排除该依赖->
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

		<dependency>
            <groupId>org.jeasy</groupId>
            <artifactId>easy-random-core</artifactId>
            <version>4.3.0</version>
            <scope>test</scope>
            <exclusions>
                <!-- 跟 SpringAOP 引入的 objenesis 有冲突,要排除 -->
                <exclusion>
                    <groupId>org.objenesis</groupId>
                    <artifactId>objenesis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <!-- 支持根据参数校验逻辑生成对象字段 -->
        <dependency>
            <groupId>org.jeasy</groupId>
            <artifactId>easy-random-bean-validation</artifactId>
            <version>4.3.0</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <artifactId>snakeyaml</artifactId>
                    <groupId>org.yaml</groupId>
                </exclusion>
            </exclusions>
        </dependency>

二、如何在Controller层进行单元测试?

代码如下(示例):

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
@AutoConfigureMockMvc
class xxxTest{
	@Autowired
    private MockMvc mockMvc;
	
	Headers headers = new Headers();
	
	@BeforeEach
	void setUp(){
		// TODO 如果需要Token等内容可以在测试之前准备好
	}
	
	@Test
	void testXxx(){
		// 准备好Controller层所使用的参数
		// 通过使用EasyRandom类生成随机参数
		XxxVO vo = new EasyRandom().nextObject(XxxVO.class)
		// 将参数转换为Json字符串
		String content = JSONObject.toJSONString(vo);
		// 发送请求
		String contentAsString = mockMvc.perform(
				// 发送Post请求
				MockMvcRequestBuilders.post(url)
				// 在header中添加参数,并设置编码
		       .headers(headers).contentType(MediaType.APPLICATION_JSON_VALUE)
		        // 发送的Json内容
		       .content(content.getBytes(StandardCharsets.UTF_8)).andReturn()
		       .getResponse().getContentAsString(StandardCharsets.UTF_8);
		System.out.println(contentAsString);
	}
}

三、如何在Service层进行单元测试?

代码如下(示例):

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;

@SpringBootTest
@ActiveProfiles("dev")
class XxxTest(){
	@Autowried
	private XxxService xxxService;

	@Test
	@DisplayName("测试某个功能")
	// 关闭该测试
	@Disabled
	void testXxx(){
		
	}
}

总结

用JUnit编写测试类,进行单元测试能够让我们在编写方法的具体实现代码后,能清晰地看到其是否能实现预期的功能,有助于我们及时修正自己方法中存在的bug,以免在后续使用到某方法时出现意想不到的错误。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】自己是如何使用单元测试,单元测试,log4j
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。自己是如何使用单元测试,单元测试,log4j
自己是如何使用单元测试,单元测试,log4j

自己是如何使用单元测试,单元测试,log4j

 行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时点击加入群:1150305204 ,里面有各种测试开发资料和技术可以一起交流哦。文章来源地址https://www.toymoban.com/news/detail-809541.html

到了这里,关于自己是如何使用单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java日志框架JUL、Log4j、logback、log4j2使用

    随着软件系统的发展系统业务越来越多、逻辑越来越复杂、代码量越来越多,伴随着容易出现的bug也会越来越多,不论是开发测试阶段还是生产阶段都需要将这些错误及时的捕捉记录下来,方便解决这些问题,否则针对出现的异常无从下手;此时就需要一些日志框架来完成这

    2024年02月15日
    浏览(45)
  • 【Java】异常处理 之 使用Log4j

    前面介绍了 Commons Logging ,可以作为“日志接口”来使用。而真正的“日志实现”可以使用Log4j。 Log4j 是一种非常流行的日志框架,最新版本是2.x。 Log4j 是一个组件化设计的日志系统,它的架构大致如下: 当我们使用 Log4j 输出一条日志时, Log4j 自动通过不同的 Appender 把同一

    2024年02月13日
    浏览(49)
  • SpringCloud使用log4j日志框架教程

    上一篇文章我们介绍了《SpringCloud使用logback日志框架教程》,本文我们再来介绍下log4j2。 Log4j2是一款流行的Java日志框架,它提供了高度可配置的日志记录功能,支持多种不同的输出格式和目标,比如文件、控制台、数据库等等。Log4j2的设计目标是提供高性能、低延迟的日志

    2024年02月16日
    浏览(58)
  • Springboot使用自带Logback 与 整合log4j 和 log4j2过程详解

    1、添加依赖 2、logback-spring.xml配置 3、使用   本地日志: 1、添加依赖 2、log4j.properties文件配置  3、配置文件中设置日志 application.yml: 4、使用: 1、添加依赖 2、log4j2.xml配置 3、配置文件中设置日志 application.yml 4、使用: 注意:如果pom.xml中添加有 spring-boot-starter-test 依赖 必

    2024年01月19日
    浏览(49)
  • Flink使用log4j.properties不打印日志问题

    日志配置文件选择使用log4j.properties flink程序不打印日志。 问题原因         日志依赖包冲突 解决办法         将lib目录下的log4j2依赖移除,如下:         log4j-1.2-api-2.12.1.jar         log4j-api-2.12.1.jar         log4j-core-2.12.1.jar         log4j-slf4j-impl-2.12.

    2024年02月09日
    浏览(43)
  • 如何在 Spring Boot 中集成日志框架 SLF4J、Log4j

    笔者的操作环境: Spring Cloud Alibaba:2022.0.0.0-RC2 Spring Cloud:2022.0.0 Spring Boot:3.0.2 Nacos 2.2.3 Maven 3.8.3 JDK 17.0.7 IntelliJ IDEA 2022.3.1 (Ultimate Edition) 因为 Spring Boot 已经内置了 Logback,所以需要先将 Logback 移除。移除的方法是在 Spring Boot 依赖包中移除 Logback。 比如就像这样: 【踩坑提

    2024年02月13日
    浏览(43)
  • elasticsearch-7.13.3 升级log4j 到log4j-2.17.1

    1、升级原因 log4j低版本存在严重漏洞,根据需要升级到安全版本,不一定是最新。 log4j-2.17.1 jar包下载地址https://archive.apache.org/dist/logging/log4j/2.17.1/ 2、下载后解压apache-log4j-2.17.1-bin.tar.gz 升级需要用到截图中四个jar包 3、升级 删除旧版本log4j 进入elasticsearch-7.13.3目录 $ rm -rf l

    2024年02月12日
    浏览(52)
  • java 使用log4j显示到界面和文件 并格式化

    jar包https://dlcdn.apache.org/logging/log4j/2.20.0/apache-log4j-2.20.0-bin.zip sources是源码包,可以看到说明。在IDEA里先加入class jar后,再双击这个class jar包或或右键选Navigate ,Add ,选对应的Sources.jar  解释一下 \\\"%d{yyyy-MM-dd HH:mm:ss} %c [%p] - %m%n\\\" 每个部分的含义: %d{yyyy-MM-dd HH:mm:ss} :表示输出日

    2024年02月12日
    浏览(35)
  • Log4J

    为什么要用日志? -- 方便调试代码 什么时候用?什么时候不用? ​ 出错调试代码时候用 生产环境下就不需要,就需要删除 怎么用? -- 输出语句 ​ log4j是Apache的一个开放源代码的项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包