【问题标题】:get all Beans of type in SpringJUnit4ClassRunner在 SpringJUnit4ClassRunner 中获取所有类型的 Bean
【发布时间】:2016-02-28 01:01:19
【问题描述】:

我无法为以下测试课程找到合适的答案:

@ContextConfiguration("classpath:services.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class RunnableServiceTest {

   @Test
   public void testConfiguration(){
       Collection<Service> lAllService = >>getBeansOfType(Service.class)<<;
       assertFalse(lAllService.isEmpty());
   }
}

我想从contextservices.xml 类型的Service 中收集所有Spring 托管bean。

我很确定一定有这样的东西,但我不知道我要搜索什么。

非常感谢您的帮助。

斯蒂芬

【问题讨论】:

  • 但是你为什么要这样做呢?您应该只需要 SUT 并且可能需要从上下文中检索一些测试替身。看来您现在正在做其他事情(可能使用其他更好的解决方案)
  • 上下文中有大约 500 个服务 bean。我想测试有关服务列表的启动/停止功能,而无需单独连接每个服务。
  • 我个人不会在这种情况下使用SpringJUnit4ClassRunner + ContextConfiguration。只需进行正常的单元测试,使用您想要的任何 xml 创建应用程序上下文并对其进行测试。我做了与您所做的类似的事情(在单元测试中加载我的应用程序的应用程序上下文并验证它的状态),结果发现当我使用@ContextConfiguration 时出现了一些问题(现在不记得了)

标签: java spring junit springjunit4classrunner context-configuration


【解决方案1】:

您可以使用自动连线的List

@ContextConfiguration("classpath:services.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class RunnableServiceTest {

   @Autowired
   private List<Service> lAllService;

   @Test
   public void testConfiguration(){
       assertFalse(lAllService.isEmpty());
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2014-09-28
    • 2010-10-25
    相关资源
    最近更新 更多