springboot对service方法进行单元测试

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

1. 在pom.xml文件添加依赖

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

2. service类

这里为了简化,没有将接口和实现单独定义。

package com.demo.order.service;

import org.springframework.stereotype.Service;

/**
 * 
 */
@Service
public class OrderService {

    public String getOrder()
    {
        return "123456789";
    }
}

3. 测试类

package com.demo.order.service;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * 
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class OrderServiceTest {

    @Autowired
    private OrderService orderService;

    @Test
    public void getOrderTest()
    {
        String order = orderService.getOrder();
        System.out.println("orderNo = " + order);
    }

}

@SpringBootTest注解会将springboot程序完整的运行起来。还可以写成@SpringBootTest(classes = OrderApplication.class),即指定启动类。 

4. 执行测试

2022-01-10 10:52:01.137  INFO 33168 --- [           main] c.demo.order.service.OrderServiceTest  : Started OrderServiceTest in 2.148 seconds (JVM running for 3.004)
orderNo = 123456789
2022-01-10 10:52:01.297  INFO 33168 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

5. 除了启动整个应用以外,还可以只加载需要的组件进行单元测试

package com.demo.order.service;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * 
 */
@RunWith(SpringRunner.class)
public class OrderService2Test {

    @TestConfiguration
    static class prepareOrderService{
        @Bean
        public OrderService getOrderService() {
            return new OrderService();
        }
    }

    @Autowired
    private OrderService orderService;

    @Test
    public void getOrderTest()
    {
        String order = orderService.getOrder();
        System.out.println("orderNo = " + order);
    }

}

这里不使用@SpringBootTest注解,而是使用@TestConfiguration注解一个静态内部类,在该类中,可以生成需要依赖的组件。文章来源地址https://www.toymoban.com/news/detail-502140.html

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

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

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

相关文章

  • SpringBoot下进行单元测试

    工程升级SpringBoot之后,突然发现之前写的几个简单的单元测试类无法正常执行了,因为SpringBoot工程的配置方式与之前还是有比较大的差异。 而且之前直接使用Junit来写单元测试,这一次打算直接升级到SpringBoot的Test方式。 1、引入依赖包 之前是直接引用junit依赖包,需要更改

    2024年02月08日
    浏览(47)
  • SpringBoot中pom.xml配置详解

    前言 在Spring Boot开发中,配置文件是非常重要的一部分,而yml文件作为一种常用的配置文件格式,被广泛应用于Spring Boot项目中。Spring Boot提供了多种方式来读取yml文件中的属性值,开发者可以根据具体的需求和场景选择合适的方式。本文将介绍Spring Boot读取yml文件的主要方式

    2024年02月07日
    浏览(39)
  • 【java】【springboot】【idea】springboot项目pom.xml 灰色下划线

    解决方案: 这里我们找到了原因,就是因为选择了Ignored Files导致pom.xml文件被设置在maven忽略文件清单中,所以我们将打勾的选项取消,点击Apply,然后点击OK

    2024年02月11日
    浏览(54)
  • Springboot如何判断pom.xml中是否加载了某个jar依赖

    这里可以使用一个取巧的方法来判断, 即通过使用上下文对象的getClassLoader().loadClass(\\\"要判断的jar包中的标志性类Reference地址\\\");  来加载某个jar包中的标志性类来判断pom.xml文件中是否加载了某个依赖, 如果加载成功表示pom中加载了某个jar 依赖, 如果不成功表示没有加载某个依赖

    2024年03月19日
    浏览(43)
  • Java对私有方法进行单元测试及示例

    在Java中,我们不能直接对私有方法进行单元测试。因为单元测试的目的是测试公共接口,而私有方法是内部实现的一部分。然而,如果有必要测试私有方法,可以使用反射来访问和调用私有方法。 以下是一个使用反射测试私有方法的示例: 在上述示例中,我们创建了一个

    2024年02月06日
    浏览(43)
  • 若依微服务版(SpringBoot/SpringCloudAlibaba)中在单个服务模块中进行单元测试

    若依微服务版手把手教你本地搭建环境并运行前后端项目: 若依微服务版手把手教你本地搭建环境并运行前后端项目_霸道流氓气质的博客-CSDN博客 在上面的基础上需要在某个服务模块中进行单元测试。 注: 博客: 霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

    2024年02月06日
    浏览(55)
  • springboot开启单元测试的方法分享

    转自: Spring Boot如何进行单元测试呢? SpringBoot:     Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃

    2023年04月21日
    浏览(33)
  • springboot的MockMvc单元测试(测试controller层方法)

    所谓单元测试,即用一小段可以独立运行的代码,去测试一个比较底层的单独的功能。 如果需要对controller层的方法进行测试,那么我们可以使用springboot提供的MockMvc,模拟客户端的请求来测试。    只有我们去执行测试类时,该依赖才会被加载   该注解为类级别批注,该注

    2024年02月15日
    浏览(41)
  • 搭建大型分布式服务(四十六)利用mockito不启动SpringBoot项目下进行单元测试

    SpringBoot支持集成Mockito做单元测试,有时候SpringBoot有很多外部依赖,在本地很难启动或者启动时间很长,而我们只想对某个方法进行测试,需要怎样做呢? 一、本文要点 接前文,我们已经已介绍在两种mock模式下,怎样根据入参返回自定义mock结果,但都是通过启动SpringBoot项

    2024年02月06日
    浏览(45)
  • Service层代码单元测试以及单元测试如何Mock

    接着上一篇文章:单元测试入门篇,本篇文章作为单元测试的进阶篇,主要介绍如何对Springboot Service层代码做单元测试,以及单元测试中涉及外调服务时,如何通过Mock完成测试。 现在项目都流行前后端代码分离,后端使用springboot框架,在service层编写接口代码实现逻辑。假设

    2023年04月08日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包