当前位置: 首页 > 知识库问答 >
问题:

扩展组件的服务的Spring Boot测试配置

艾灿
2023-03-14

我试图在Spring Boot中为我的服务层设置一些测试。

@RunWith(SpringRunner.class)
public class ThreadSystemServiceImplTest {
    /**
     * This configures this test so that the correct implementation is tested
     */
    @TestConfiguration
    static class ThreadSystemServiceImplTestContextConfiguration {

        @Bean
        public ThreadSystemService testService() {
            return new ThreadSystemServiceImpl();
        }
    }

    @Autowired
    private ThreadSystemService service;

    @MockBean
    private ThreadSystemRepository repository;

    ...
}
@Service
@Transactional
public class DrawingServiceImpl extends DrawingFunctions implements DrawingService {
    ....
}
@Component
public class DrawingFunctions extends ToDoFunctions {
    /**
     * Logging Manager
     */
    private static final Logger LOGGER=LogManager.getLogger();

    @Autowired
    private CommodityPartPORepository cppoRepository;

    @Autowired
    private WorkOrderService woService;

    @Autowired
    private InventorySearch inventorySearch;

    ...
}
@PersistenceContext
private EntityManager em;

这似乎会产生更多的问题。

我可以在测试配置中设置bean,就像工作示例中的ThreadSystemService的bean一样。然而,这将是一个相当广泛的列表,几乎所有这些我都不需要在这些测试中参考。有没有什么方法可以不包括特定测试的扩展类,或者有没有一种简单的方法来设置这种测试?

共有1个答案

阮昊阳
2023-03-14

您可以使用@DataJPatest而不是@PersistenceContext来使用test EntityManager

文档DataJpaTest

 类似资料:
  • 努力更新中...

  • 升级到Apache Camel 2.21.1后,我的应用程序无法启动。具体来说,升级到camel-aws会导致应用程序在启动时抛出此错误: 创建名为“incomingEndpoint”的bean时出错:FactoryBean在创建对象时引发异常;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/camel/component/extension/Com

  • 问题内容: 我最欣赏Backbone.js的一件事是简单而优雅的继承是如何工作的。我开始着手处理React,并且在React中无法真正找到类似于此Backbone代码的任何内容 在react中,我们有mixin,如果使用mixin,我们可以像上面的例子那样有点接近 与一遍又一遍地定义相同的东西相比,这没有那么重复,但是它似乎不像Backbone那样灵活。例如,如果我尝试重新定义/覆盖存在于我的一个

  • 扩展 Web 组件 Vue.js 是一个独立的前端框架,在浏览器中渲染时不需要基于 Weex 容器。因此,针对 Weex 平台扩展 Vue.js 的 Web 端组件,和直接使用 Vue.js 开发一个 Web 组件是一样的。具体的组件编写方法可以参考其官方文档:组件 ,另外建议使用 .vue 格式的文件编写组件,使用方法参考:单文件组件。 扩展内置组件 目前我们提供了 Vue Render For

  • 情况和问题:在Spring Boot中,我如何将一个或多个模拟类/bean注入应用程序以进行集成测试?在StackOverflow上有一些答案,但它们集中在Spring Boot 1.4之前的情况,或者只是不适合我。 背景是,在下面的代码中,设置的实现依赖于第三方服务器和其他外部系统。设置的功能已经在单元测试中测试过了,所以对于完整的集成测试,我想模拟出对这些服务器或系统的依赖,只提供虚拟值。 M