java - 最小化 JUnit 测试加载的类

标签 java spring spring-boot

假设我正在测试一个存储库:

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {
  @Test
  (...)
  @Test
  (...)
}

我同意 spring 加载其他存储库,但我不同意它在每次启动其中一个 JUnit 时加载嵌入式 Tomcat、服务、 Controller ......。

实现这一目标的最简单方法是什么?

我尝试将一些内部 @Configuration 类与 @ComponentScan 限制到我的存储库包,但它不起作用(它只是被忽略)。

最佳答案

使用注释@DataJpaTest而不是@SpringBootTest。它只加载Spring的持久化相关部分。

@RunWith(SpringRunner.class)
@DataJpaTest
public class UserRepositoryTest {
  @Test
  (...)
  @Test
  (...)
}

详细解决方案here

如果您有一些 JdbcTemplate 的用法,请查看 this answer

关于java - 最小化 JUnit 测试加载的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53433045/

相关文章:

java - Android 如何正确添加多个按钮监听器

java - 我可以使用java中int方法的输出来更改int变量值吗

java - NetBeans 7.1.2 tomcat/manager 访问配置问题

java - Azure 应用服务中的错误 : java. lang.UnsatisfiedLinkError: failed to load the required native library

spring - 如何使用 Querydsl 和 Spring Data 轻松实现 'REST API query language' 以过滤实体?

file-upload - spring boot 无法上传文件

java - 科学图像处理 - 用于选择的最小边界区域(imageJ?)

java - 使用什么来代替简单的 JdbcTestUtils?

java - 如何在 Spring Security 中启用选择性 http 模式的内容安全策略

java - Spring Data Couchbase findAll(可迭代)