bugfactory 2021-08-24 16:30 采纳率: 0%
浏览 100

springboot整合mybatisplus时测试成功却无法启动

学习mybatisplus时用@SpringBootTest注解写测试类,可以得到结果,但是运行主程序时报错
网络查询结果为版本不兼容,更换版本依然如此
@SpringBootTest注解注释掉却运行成功
不太理解,求各位解惑
pom文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.li</groupId>
    <artifactId>mpdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mpdemo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.0</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.7.2</version>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.7.RELEASE</version>
                <configuration>
                    <mainClass>com.li.mpdemo.MpdemoApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>



原测试类,可以使用

package com.li.mpdemo;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.li.mpdemo.mapper.EmployeeMapper;
import com.li.mpdemo.pojo.Employee;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: llw
 * @Date: 2021/08/24/14:21
 * @Description:
 */
@SpringBootTest
public class MpdemoApplicationTest {
    @Autowired
    private EmployeeMapper employeeMapper;

    @Test
    void getEmployee(){
        List<Employee> employees = employeeMapper.selectList(null);
        employees.forEach(System.out::println);
    }
    @Test
    void testInsert() {
        int result = employeeMapper.insert(new Employee(null, "zhangsan", "zhangsan@qq.com", 0, 25));
        System.out.println("result:" + result);
    }

    @Test
    void testUpdateById() {
        // 先查询
        Employee employee = employeeMapper.selectById(1);
        employee.setLastName("Jennie");
        // 再修改
        int result = employeeMapper.updateById(employee);
        System.out.println(result);
    }

    @Test
    void testSelectById() {
        Employee employee = employeeMapper.selectById(1);
        System.out.println(employee);
    }

    @Test
    void testSelectByMap() {
        Map<String, Object> map = new HashMap<>();
        map.put("gender",0);
        map.put("age",25);
        List<Employee> employees = employeeMapper.selectByMap(map);
        employees.forEach(System.out::println);
    }


    @Test
    void testSelectBatchIds() {
        List<Employee> employees = employeeMapper.selectBatchIds(Arrays.asList(1, 2, 3));
        employees.forEach(System.out::println);
    }

    @Test
    void testDeleteById() {
        int result = employeeMapper.deleteById(1);
        System.out.println(result);
    }

    @Test
    void testDeleteByMap() {
        Map<String, Object> map = new HashMap<>();
        map.put("gender", 0);
        map.put("age", 25);
        int result = employeeMapper.deleteByMap(map);
        System.out.println(result);
    }

    @Test
    void testDeleteBatchIds() {
        int result = employeeMapper.deleteBatchIds(Arrays.asList(4, 5, 6));
        System.out.println(result);
    }


    @Test
    void testwrapper1(){
        QueryWrapper<Employee> queryWrapper=new QueryWrapper<>();
        queryWrapper
                .like("last_name","B")
                .eq("gender","1")
                .gt("age",24);
        List<Employee> employees=employeeMapper.selectList(queryWrapper);
        employees.forEach(System.out::println);
    }

    @Test
    void testSelectList3() {
        QueryWrapper<Employee> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("gender", 1);
        Integer count = employeeMapper.selectCount(queryWrapper);
        System.out.println(count);
    }

    @Test
    void testUpdate() {
        UpdateWrapper<Employee> updateWrapper = new UpdateWrapper<>();
        updateWrapper
                .eq("gender", 1)
                .gt("age", 25)
        ;
        Employee employee = new Employee();
        employee.setGender(0);
        employeeMapper.update(employee, updateWrapper);
    }

    @Test
    void testDelete() {
        QueryWrapper<Employee> queryWrapper = new QueryWrapper<>();
        queryWrapper.like("last_name", "Tom");
        int result = employeeMapper.delete(queryWrapper);
        System.out.println(result);
    }

}


运行主程序时报错

img

将测试类中的@Spring BootTest注解注释之后可以运行成功
不明白
项目结构如下

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-微编程 2021-08-24 17:01
    关注

    单元测试里的是不是都可以通过?

    评论

报告相同问题?

问题事件

  • 创建了问题 8月24日

悬赏问题

  • ¥15 有偿找一懂dylib反编译的大拿,是ios越狱dylib动态库,我需要绕过验证。
  • ¥15 构建工单的总账影响在哪里查询或修改
  • ¥15 三个简单项目写完之后有重赏之后联系我
  • ¥15 python报内存不能read错误
  • ¥15 hexo安装这种情况怎么办
  • ¥100 找hCaptcha图形验证码自动识别解决方案
  • ¥15 启动pycharm出错
  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题