복붙노트

[SPRING] Springockito하는 방법?

SPRING

Springockito하는 방법?

내 IT 중 하나에서 Springockito를 사용하여 DAO bean을 모의하고 싶습니다. 내 IT에서는 spring context.xml을 사용하여 일부 서비스를 autowire하고 mockApplication.xml을 사용하여 DAO를 조롱해야한다. 그렇다면 어떻게하면 동시에 두 개의 XML 구성 파일을 모두 사용할 수 있습니까?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = SpringockitoContextLoader.class, locations = {"classpath*:/MockApplicationContext.xml"})
public class PayRollComponentFacadeIT {
    @Autowired
    IPayRollComponentFacade payRollComponentFacade;
    @ReplaceWithMock
    @Autowired
    IPayRollPersistenceManager payRollPersistenceManager;

@ContextConfiguration (loader = SpringockitoContextLoader.class, locations = { "classpath * : / MockApplicationContext.xml"})과 같은 모의 컨텍스트를 포함 시켰습니다.

하지만 @ContextConfiguration (locations = { "classpath * : / testApplicationContext.xml"}) 스프링 컨텍스트를 포함해야합니다.

Riggers 라지브

해결법

  1. ==============================

    1.ContextConfiguration.locations는 Array이므로 사용자가 원하는 위치로 지정할 수 있습니다.

    ContextConfiguration.locations는 Array이므로 사용자가 원하는 위치로 지정할 수 있습니다.

    @ContextConfiguration(
           loader = SpringockitoContextLoader.class,
           locations = {"classpath*:/MockApplicationContext.xml",
                        "classpath*:/testApplicationContext.xml"}
    )
    

    BTW : (이것은 내 기억의 힌트 일 뿐이며, 문제가 여전히 존재하는지, 또는 내가 잘못한 것을 알았습니다.) 오래전에 두 개의 위치 매개 변수를 사용할 때 몇 가지 문제점을 발견했습니다. 왜냐하면 스프링이 두 개의 컨텍스트 (각 위치에 하나씩)를 작성하기 때문입니다. 따라서 두 개의 일반 구성 파일을 포함하는 단일 구성 파일을 사용합니다. (@see https://stackoverflow.com/a/3414669/280244)

  2. ==============================

    2.Springockito-annotation은 모의 맥락이 전혀 필요 없다는 것을 가능하게합니다.

    Springockito-annotation은 모의 맥락이 전혀 필요 없다는 것을 가능하게합니다.

    같은 테스트 케이스에서 조롱받는 DAO를 열거하십시오.

    @ReplaceWithMock
    DAO dao;
    

    이 DAO는 주 응용 프로그램 컨텍스트에서 자동으로 대체됩니다. 컨트롤러는 조롱당한 빈을 볼 것이다.

  3. from https://stackoverflow.com/questions/19354473/springockito-how-to by cc-by-sa and MIT license