zoukankan      html  css  js  c++  java
  • SpringBoot单元测试踩坑

    今天写了一个算法,需要用单元测试来测试其效果。

    后端使用SpringBoot框架

    pom文件导入依赖如下

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

    Test类

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = MyApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
    public class BPNNTest {
    
        @Autowired
        private TestService service;
    
        @Test
        public void test1() {
            service.estimateTime();
        }
    }

    在测试过程中遇到了几个问题,记录如下

    报错一:

    java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations

    查找资料后发现原因是之前引入的依赖问题,

            <!--原先的依赖-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>5.2.1.RELEASE</version>
                <scope>compile</scope>
            </dependency>

    解决方案就是将版本降低至5.0.2.RELEASE或者删掉该依赖,仅用spring-boot-starter-test即可。

    报错二:

    Error creating bean with name 'methodValidationPostProcessor'
    ...
    Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.DOUBLEE

    该报错尾部提示类型不对,将相应类型改为正确类型即可

    报错三:

    javax.websocket.server.ServerContainer not available

    查找资料后发现SpringBootTest在启动时不会启动服务器,所以websocket会报错,需提供一个测试的web环境

    解决方案就是在@SpringBootTest注解内添加webEnvironment属性

    @SpringBootTest(classes = MyApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
  • 相关阅读:
    创建DataFrame https://www.cnblogs.com/andrew-address/p/13040035.html
    vim
    python 上下文管理协议
    AutoLisp 函数总结
    Visual Lisp 专题
    python基础之字符编码
    9月24号面试总结(康拓普1面)
    9月20号面试总结(zhongluan)
    9月20号面试总结(shangyun)
    9.19面试总结(ximei)
  • 原文地址:https://www.cnblogs.com/MrZhaoyx/p/13271828.html
Copyright © 2011-2022 走看看