簡體   English   中英

使用 Spring 進行 Mocking

[英]Use of Mocking with Spring

我在 Spring 和 mockito 中使用 junit。當我們使用 Spring 時,我們必須加載 spring 配置文件。但是通過這樣做,我們獲得了所有真實對象。mockito 在這種情況下扮演什么角色?

如果我在使用 mockito 的測試用例中使用這個 @ContextConfiguration(locations = {"classpath:/application-context.xml"}) ,我將從 applicationContext.xml 獲取對象,這些對象將是真實的對象。

如何在這里使用 mockito

您不必使用 Spring 對代碼進行單元測試。 您可以使用 Mockito @InjectMocks將依賴項注入被測類中。

如果您想使用 Spring 進行單元測試,您可以使用 Spring 中的@ContextConfiguration注釋,並在適當的情況下使用@ContextConfiguration在測試本身中定義配置。 例如:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@TestPropertySource(locations = "classpath:test.properties")
public class SimpleServiceTest {

    @Autowired
    private SimpleService simpleService;

    @Test
    public void testMethod(){
          ....
          simpleService.testMethod();
          ....
    }


    @Configuration
    public static class Config {


        @Bean
        public SimpleService getSimpleService() {
            return new SimpleService();
        }

        @Bean
        public MockedService getMockedService() {
            return Mockito.mock(MockedService.class);
        } 

     }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM