在没有 Spring Boot 应用程序主类的项目中测试 Spring Data Repository

2024-01-13

我有一个小项目,不包含运行 Spring Boot 应用程序的类。在该课程中,我只有一些配置和一些存储库。我想在小项目中测试这些存储库。

为此,我有以下几点:

@SpringBootTest
@DataJpaTest
public class TaskRepositoryTest extends AbstractTestNGSpringContextTests {

    @Autowired
    private TaskRepository taskRepository;

    @Test
    public void test() {
        taskRepository.save(new Task("open"));
    }
}

但我收到以下错误

Caused by: java.lang.NoSuchMethodError: org.springframework.boot.jdbc.DataSourceBuilder.findType(Ljava/lang/ClassLoader;)Ljava/lang/Class;

知道我必须做什么吗?


这对我来说适用于 Spring Boot 2.0.3、H2 和最新的 RELEASE testng:

@EnableAutoConfiguration
@ContextConfiguration(classes = TaskRepository.class)
@DataJpaTest
public class TaskTest extends AbstractTestNGSpringContextTests {

   @Autowired
   private TaskRepository taskRepository;

   @Test
   public void test() {
      taskRepository.save(new Task("open"));
   }

}

LE:

在我使用过的答案的先前版本中@SpringBootTest @DataJpaTest但这似乎是错误的做法。 将出现以下消息:

[main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - 使用 SpringBootContextLoader 没有为测试类 [one.adf.springwithoutapp.TaskTest] 找到 @ContextConfiguration 和 @ContextHierarchy

Using @ContextConfiguration with @DataJpaTest删除该警告并且 IntelliJ 不会标记模拟taskRepository as 无法自动装配。未找到“TaskRepository”类型的 bean。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在没有 Spring Boot 应用程序主类的项目中测试 Spring Data Repository 的相关文章

随机推荐

  • 如果我想添加 CSS 我应该将其粘贴到哪里?

    这是我需要添加 CSS 的页面 http upload wikimedia org wikipedia commons a a5 Map of USA with state names svg http upload wikimedia o
  • 如何从android中的recyclerView中删除项目

    在我的应用程序中 我应该使用 recyclerView 并删除一些项目 我想从中删除一些项目recyclerview为此 我在以下代码中编写Adapter public class MyAdapter extends RecyclerVie
  • Rails 数据禁用-带有重新启用按钮

    我有一个具有 JavaScript 验证功能的 Rails Devise 表单 当用户按下提交时 验证就会开始工作 并且用户会重新关注他们需要的表单 但是 rails 使用 data disable with 在单击按钮后禁用该按钮 因此在
  • 对函数中的变量进行分组

    我有一种感觉 这是如此明显 当 如果 解决时我会感到羞愧 但我就是无法让它发挥作用 我有一个 html javascript 页面 其中包含多个项目 所有项目都需要通过用户点击来显示或隐藏 所以我有 x 数量的 div 例如 div sty
  • 如何测试一个python模块是否已导入?

    如何测试Python中的模块是否已导入 例如我需要基础知识 if not has imported sys import sys also if not has imported sys path from sys import path
  • 在 std::map 中,获取一个指向不大于 key 的最后一个元素的迭代器

    提问前 我理解的意思std map lower bound http en cppreference com w cpp container map lower bound and std map upper bound http en c
  • 使属性可调用或不可调用

    我想让一个属性要么可调用 要么不可调用 例如 function Test var obj someString here is text Object defineProperty obj string get function retur
  • DB 连接字符串的 Windows 服务的 System.NullReferenceException

    我正在编写一个 Windows 服务 我使用 try 捕获了一个异常 try connStr System Configuration ConfigurationManager AppSettings connStr ToString ca
  • jQuery 插件多重实例化

    我正在使用发现的 jquery 插件样板here http jqueryboilerplate com 然而它提到构造函数可以防止多次实例化 我想知道我需要做什么才能修改它以允许多个实例化 插件样板如下 the semi colon bef
  • 注释看不见?

    这让我很困惑 我有一个带有自定义注释的类 但我似乎无法验证该注释是否存在 我在这里做错了什么 如果我跑MyOperationTest 见下文 我得到的结果是 implements Library Operation true has Lib
  • Google Chrome 扩展程序支持多线程编程吗?

    比如说 我想每次在扩展程序中单击按钮时打开一个新线程 我该怎么做 我知道各种选项卡由 Chrome 任务管理器处理 该管理器将每个选项卡视为并行进程 因此 如果我的问题的答案是否定的 我们能否以某种方式利用这个任务管理器来达到相同的效果 也
  • 如何找出截断的 UILabel 文本的宽度

    I have UILabel 其中包含动态文本 有时文字太长而无法显示 因此自动截断 如何找出截断文本可见部分的宽度 sizeThatFits 返回未截断文本的长度 所以目前我只能检测何时进行截断 需要知道有多少是可见的 包括那三个点 有小
  • 如何让3秒后出现静态图像?

    如何让图像在 3 秒后出现 您可以使用 self performSelector withObject afterDelay
  • 如何使用 hibernate 标准调用 postgres 函数

    我使用 hibernate 标准获取排序结果 生成以下 sql select from mytable order by name asc 这就是我使用休眠标准执行此操作的方法 criteria addOrder Order asc nam
  • 在测试阶段使用替代 Maven 配置文件

    我正在尝试从 Appfuse 原型开始构建一个应用程序 但我遇到了一些奇怪的问题 这一次 我想使用 hsqldb 进行自动化单元测试和集成测试 并使用 mysql 数据库进行手动测试 以便我可以在需要时轻松操作数据 因此在测试过程中自动切换
  • 从编辑控件获取文本

    我试过这个 int editlength int buttonid 3324 id to button the numbers dont mean anything int editid 5652 id to edit LPTSTR edi
  • 抓取域列表的登陆页面[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个相当长的网站列表 我想下载
  • 切片神奇地更新

    我正在尝试编写一个程序来查找二叉树中的所有根到叶路径 其中每个路径的总和等于给定的总和 以下是我想出的代码 package main import fmt type TreeNode struct Val int Left TreeNode
  • 如何在VS中调试appdomain返回值

    我的 C 程序使用多个应用程序域来加载 卸载程序集 我在第二个应用程序域中的程序集返回一个继承 MarshalByRefObject 的对象 我现在的问题是 Visual Studio 告诉我它无法显示有关它的信息 此上下文中不支持获取透明
  • 在没有 Spring Boot 应用程序主类的项目中测试 Spring Data Repository

    我有一个小项目 不包含运行 Spring Boot 应用程序的类 在该课程中 我只有一些配置和一些存储库 我想在小项目中测试这些存储库 为此 我有以下几点 SpringBootTest DataJpaTest public class Ta