Mockit

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.wolaidai.finance.loan.biz.CheckProcess;
import com.wolaidai.finance.loan.service.NotifyService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:applicationContext.xml" })
public class NotifyServiceMockTestCase extends AbstractTransactionalJUnit4SpringContextTests {

    @InjectMocks
    @Autowired
    private NotifyService notifyService;

    @Mock
    private CheckProcess checkProcess;

    @Mock
    private ApiService mockApiService;

    @Before
    public void myBefore() {
        MockitoAnnotations.initMocks(this);
        Mockito.when(mockApiService.test()).thenReturn("ok");
        Mockito.when(mockApiService.test("test")).thenReturn("abc");
    }

    @Test
    public void testGetAirlineCode() {
        String result = mockApiService.test();
        Assert.assertEquals("ok", result);

        result = mockApiService.test("test");
        System.err.println(result);

        result = mockApiService.test("abd");
        System.err.println(result);
    }

}

@Component
class ApiService {

    @Autowired
    private TestApiService testApiService;

    public String test() {
        String connect = testApiService.connect();
        connect += "test";// test自己的业务
        return connect;
    }

    public String test(String str) {
        return "test." + str;
    }
}

@Component
class TestApiService {
    public String connect() {
        return "error";
    }

    public String findFromDb() {
        return "db_data";
    }
}
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.10.19</version>
    <scope>test</scope>
</dependency>

 

posted on 2017-09-16 10:11  jis117  阅读(374)  评论(0编辑  收藏  举报

导航