spring-test几种用法

本文通过具体示例展示了如何使用Spring JUnit4ClassRunner进行单元测试,并提供了两种配置方法。一种是通过注解的方式,另一种是继承AbstractJUnit4SpringContextTests类并指定配置文件位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven:

<properties>
    <spring_version>4.3.4.RELEASE</spring_version>
</properties>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${spring_version}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {EventConf.class})
public class DemoTest {
    @Autowired
    private DemoPublisher publisher;
    @Test
    public void eventTest(){
        publisher.push("发布消息");
    }
}
@Configuration
@ComponentScan("com.listener")
public class EventConf {
}
方式二:

@ContextConfiguration(locations = {"classpath:/test*.xml"})
public class UserLoginMapperTest extends AbstractJUnit4SpringContextTests {

    String collectionName = CollectionConstants.COLL_USER_LOGIN;
    @Resource
    UserLoginMapper userLoginMapper;

    @Test
    public void findById_test(){
        UserLogin condition = new UserLogin();
        condition.setLoginId("18221688041");
        List<UserLogin> userLogins = userLoginMapper.findByCondition(condition);
        System.err.println(userLogins);
    }
}

### 解决 IDEA 中 `spring-boot-starter-test` 依赖报红问题 在开发环境中遇到 `spring-boot-starter-test` 报红的情况通常是由于 IDE 或者构建工具未能正确解析该依赖。以下是几种常见解决方案: #### 更新项目配置 确保项目的 `pom.xml` 文件中包含了正确的 Spring Boot 版本声明,并且已经应用了父级 POM (`spring-boot-starter-parent`) 的管理。如果 `spring-boot-starter-parent` 曾经显示为红色警告,则应按照之前的方法处理,即取用 pom.xml 文件顶部指定的版本号并刷新项目以同步更改[^2]。 ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.0</version> <!-- 确认此版本 --> <relativePath/> <!-- 查找本地 parent 配置 --> </parent> ``` #### 清理和重建索引 有时 IntelliJ IDEA 可能需要清理其内部缓存来解决问题。可以通过菜单栏中的 **File -> Invalidate Caches / Restart...** 来执行这一操作。这将清除所有的本地缓存数据,并强制重新扫描整个工作区内的文件结构。 #### 同步 Maven/Gradle 设置 对于基于 Maven 构建的应用程序来说,点击右上角的小象图标旁边的绿色箭头按钮可以触发一次完整的依赖项同步过程;而对于 Gradle 用户而言则是通过右侧边栏里的刷新按钮完成相同的操作。此外还可以尝试手动运行命令行下的 mvn clean install 命令来进行彻底编译安装。 #### 添加仓库地址 当某些特定库不在默认中央存储库内时,可能还需要向 `pom.xml` 明确指明额外的镜像源位置以便获取所需的组件。比如阿里云提供的国内加速服务就是一个不错的选择: ```xml <mirrors> <mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> ``` #### 安装缺失插件 确认是否缺少必要的支持插件,特别是针对单元测试的支持。前往 **Settings(Preferences on macOS)** -> Plugins 页面查找是否有可用的相关扩展未被激活。 #### 使用 spring-boot-devtools 提升体验 为了提高开发效率,建议引入 `spring-boot-devtools` 工具包用于实现自动重启等功能特性。不过需要注意的是,在生产环境部署前应当移除这项依赖以免影响性能表现[^4]. ```xml <!-- 开发阶段辅助工具 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> ``` 以上措施通常能够有效消除此类错误提示,使开发者顺利开展后续编码作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值