写测试用例

Blade 未结 1 118
six_six_2005
six_six_2005 2025-01-21 12:55

一、该问题的重现步骤是什么?

1. 在test里如何调用module下面包定义的类?注解要注意什么?我是参考BladeTest写的

2. image.png

3.


二、你期待的结果是什么?实际看到的又是什么?

因为需要打包到内网开发,所以想写好test,到内网执行调第三方接口,注解是框架有特定的,还是要写成这样?

@SpringBootTest(classes = Application.class)

public class PatrolServiceTest { ... }


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2025-01-21 14:12

    主要是不太清楚你们这个类的加载逻辑,测试类头部这么写没问题的,调用结果如下

    CleanShot20250121141029@2x.png


    你复制这段代码看看是否能正确调用

    package org.springblade.test;
    
    import org.junit.jupiter.api.Test;
    import org.junit.jupiter.api.extension.ExtendWith;
    import org.springblade.core.test.BladeBootTest;
    import org.springblade.core.test.BladeSpringExtension;
    import org.springblade.modules.desk.pojo.entity.Notice;
    import org.springblade.modules.desk.service.INoticeService;
    import org.springframework.beans.factory.annotation.Autowired;
    
    import java.util.List;
    
    /**
     * Blade单元测试
     *
     * @author Chill
     */
    @ExtendWith(BladeSpringExtension.class)
    @BladeBootTest(appName = "blade-runner", enableLoader = true)
    public class BladeTest {
    
        @Autowired
        private INoticeService service;
    
        @Test
        public void contextLoads() {
           System.out.println("=====数据迁移启动=====");
    
           List list = service.list();
           System.out.println(list);
    
           System.out.println("=====数据迁移完毕=====");
        }
    
    }


    如果这个你能跑成功,但是自己的类无法成功,需要给我们看下他的加载逻辑,看看是否需要其他的初始化,如果有configuration类初始化,那么你可能也需要在test类做下初始化。

    0 讨论(0)
代码语言
提交回复