Spring Boot 单元测试 - 测试失败,抱怨没有定义“entityManagerFactory”bean

2024-06-26

我正在尝试为 Spring Boot 应用程序中的控制器编写单元测试。该应用程序运行顺利,我的问题是运行它tests.

这是测试代码:

@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
@AutoConfigureTestEntityManager
public class MyControllerTest {

@Autowired
private MockMvc mockMvc;

@Mock
private MyRepository myRepository;

@Mock
ZendeskNotifier zendeskNotifier;

@Mock
ActivityLogger activityLogger;

@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);
}

@Test
public void cannotSendFooWithoutMessageBody() throws Exception {
    this.mockMvc.perform(post("/api/v1/foo/1/send"))
            .andDo(print())
            .andExpect(status().is4xxClientError())
            .andExpect(content().string(containsString("The message body cannot be empty.")));
}
}

当我尝试运行它时,我得到:

***************************
APPLICATION FAILED TO START
***************************

Description:

Field jobEventRepository in foo.bar.util.memsource.svc.MemsourceEventProcessor required a bean named 'entityManagerFactory' that could not be found.


Action:

Consider defining a bean named 'entityManagerFactory' in your configuration.

这对我来说感觉很奇怪,因为我提供了AutoConfigureTestEntityManager注释并期望所有EntityManager相关的东西要到位。


如果 Google 将您带到这里并且您正在使用 Spring Boot,您可能需要添加@DataJpaTest到你的测试班。它被发现于org.springframework.boot:spring-boot-test-autoconfigure。重新运行时您可能还会发现需要声明对org.hibernate:hibernate-validator.

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

Spring Boot 单元测试 - 测试失败,抱怨没有定义“entityManagerFactory”bean 的相关文章

随机推荐

  • 仅匹配单词或字符串中的撇号

    我正在寻找一个可以匹配的Python正则表达式 didn t 并仅返回紧接在撇号前面的字符 例如 t 但不是 d or t 在开始和结束时 我努力了 w w 但它只匹配开头的撇号 更多示例 I m 应该只匹配 m并不是 I Erick s
  • MyFaces + CDI 可以在 WebLogic 12c 上使用吗?

    我已经尝试让这个设置运行几天了 但仍然没有成功 这是我一直在使用的测试应用程序 Named RequestScoped public class Test private String test test public String get
  • 如何在 gitolite 中安装钩子

    我已阅读全部关于钩子的文档 https github com sitaramc gitolite blob pu doc 2 admin mkd using hooks similar https stackoverflow com que
  • 在 Python 中计算稀疏 Gram 矩阵的最快方法是什么?

    格拉姆矩阵是结构矩阵X X T这当然是对称的 当处理稠密矩阵时 numpy dot产品实现足够智能 可以识别自乘以利用对称性 从而加快计算速度 请参阅this https stackoverflow com a 50734430 14440
  • Linux 内核 - 如何停止等待信号量的 kthread?

    在编写 Linux 内核模块时 我遇到了一个 kthread 问题 在等待信号量解锁时无法唤醒该 kthread 这会导致线程不可停止并且rmmod尝试卸载模块时冻结 请注意 该模块在 3 10 内核上运行 我无法将其更新到较新的版本 客户
  • 打印没有行号/索引的 pandas 数据框[重复]

    这个问题在这里已经有答案了 使用以下代码 predictions pd DataFrame x6 x5 x4 x3 x2 x1 print predictions 在控制台中打印以下内容 0 0 782 367392 1 783 31415
  • 如何找到对象的创建位置?

    我目前正在努力改进对其他脚本有不同调用的代码 我想知道在哪里创建对象 对于其中一些人来说 只需使用文本编辑器的搜索选项即可 只要看看是否obj lt or obj 有什么结果 但这不适用于使用assign功能 在加载的脚本中创建的也不是 T
  • Javascript:简单的加法程序不起作用

    我正在尝试创建一个程序 单击按钮时将添加两个数字 但是 它不起作用 我完全困惑出了什么问题 在此程序中 用户应该输入 2 个数字 程序会在单击时向用户提供总和 这是代码 p For adding two numbers p
  • 获取按下按钮的压力

    android 中有没有一种简单的方法来获取用户在 onClick 事件期间施加的压力 如果您向按钮添加 MotionEvent 侦听器 您可以向 MotionEvent 请求压力 相关文档 http developer android c
  • 春季安全3.1。带有 url 参数的自定义authentication-failure-url

    我用谷歌搜索并尝试了很多变体几个小时 但没有成功 请帮助我找到解决方案 春季版本 春季3 1 我有登录页面 登录页面取决于 URL 参数 login code client1 or login code client2 所以client1和
  • 导致:java.lang.ClassNotFoundException:com.fasterxml.jackson.databind.JavaType未找到

    我在我的应用程序中使用 jackson libs 当我构建代码 使用 ant 时 构建成功 我已经在单元测试中使用这些方法尝试过模拟测试 并且工作正常 但是当启动 karaf 时 它给了我这个错误 Caused by java lang C
  • React Redux:调度时无限循环

    我发现这个问题很常见 但我没有找到适合我的情况的解决方案 我正在尝试使用 React 和 Redux 以及 Redux thunk 将用户重定向到 React Native 中的另一个导航器 如果我只显示主屏幕 它工作正常 但是当我从登录屏
  • “d = dict()”和“d = {}”之间的区别

    python2 7 m timeit d 10000000 loops best of 3 0 0331 usec per loop python2 7 m timeit d dict 1000000 loops best of 3 0 1
  • 如何从重新实现 GetHashCode 的类中获取原始哈希码?

    简短的问题 我如何获得object GetHashCode 重新实现的对象的值GetHashCode 很长的故事 所以我有大约十万个对象 每个对象共享许多 非编译时 公共字符串 常见的是如果值相等 则它是同一个实例 知道了这一点 我想我宁愿
  • ios - navigationItem.titleView 更新时闪烁

    我有一个UIView 拿着一个UIButton 设置为我的navigationItem titleView 当我更新此按钮的文本时 它会短暂闪烁 消失并随新文本重新出现 无论如何 当它改变时 是否可以保持它可见 那么 如果我更改 2015
  • 为什么有关严格 subs 的错误仅在 autodie 下触发?

    鉴于这样的代码 我没有收到任何警告 use strict use warnings open STDERR gt STDOUT 鉴于此代码 我收到一个致命错误 use strict use warnings use autodie open
  • 在 64 位计算机上捕获的 32 位进程的调试转储

    我最近收到一位客户发来的 64 位故障转储 我们的进程都是32位的 但是客户的机器运行的是x64 Server 2008 Visual Studio 2008 和 2010 Express 告诉我必须使用 64 位版本MSVSMON EXE
  • ios-使用 firebase 发送通知

    我正在尝试创建带有通知的应用程序 通知必须从 php 文件发送到 firebase 然后发送到设备 起初 我尝试使用 firebase 控制台发送 效果完美 但是当我尝试使用 php 发送通知时 我遇到了问题 显示已成功发送 但我没有收到任
  • 使用java将透明gif / png转换为jpeg

    我想使用 Java 将 gif 图像转换为 jpeg 它适用于大多数图像 但我有一个简单的透明 gif 图像 输入gif图像http img292 imageshack us img292 2103 indexedtestal7 gif h
  • Spring Boot 单元测试 - 测试失败,抱怨没有定义“entityManagerFactory”bean

    我正在尝试为 Spring Boot 应用程序中的控制器编写单元测试 该应用程序运行顺利 我的问题是运行它tests 这是测试代码 RunWith SpringRunner class WebMvcTest MyController cla