• java的Spring学习2- junit和mock


          <!-- 引用Mock -->
           <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>1.9.0</version>
                <scope>test</scope>
            </dependency>    
    package com.xxx.test.subscribe;
     
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import org.mockito.InjectMocks;
    import org.mockito.Mock;
    import org.springframework.http.HttpEntity;
    import org.springframework.web.client.RestTemplate;
    
    import java.util.HashMap;
    
    import static org.mockito.Matchers.anyString;
    import static org.mockito.Matchers.eq;
    import static org.mockito.MockitoAnnotations.initMocks;
    
    import static org.mockito.Matchers.anyObject;
    import static org.mockito.Mockito.when;
    import static org.mockito.MockitoAnnotations.initMocks;
     
    
    public class SubscribeTest {
    
        private SubscribeEventRequest request;
    
        @InjectMocks
        private SubscribeEventPushImpl service;
    
        @Mock
        private RestTemplate restTemplate;
    
        @Mock
        private PushProperties pushProperties;
    
        @Before
        public void setUp() throws Exception {
            initMocks(this);
    
            HashMap<String, String> keys = new HashMap<String, String>();
            request = new SubscribeEventRequest();
            request.setKeys(keys);
            request.setPublishTime(System.currentTimeMillis());
            request.setPublishType(PublishTypes.Push.getCode());
            request.setSubscribeType(401);
        }
    
        @Test
        public void testUrl() {
            this.mockResources();
            SubscribeReq req = new SubscribeReq(request);
            req.setPhoneNumber("18688888888");
            req.setDeviceId("234523452345ab");
            req.setOs(1);
            SubscribeResp resp = service.subscribe(req);
            Assert.assertEquals(resp.getCode(), 0);
        }
    
        private void mockResources() {
            when(pushProperties.getAppKey()).thenReturn(SubscribeConsts.PUSH_DEFAULT_APPKEY);
            when(pushProperties.getSource()).thenReturn(SubscribeConsts.PUSH_DEFAULT_SOURCE);
            when(pushProperties.getPushTaskUrl()).thenReturn("");
    
            String jsonResult = "{
    " +
                    "  "code" : 0,
    " +
                    "  "payload" : {
    " +
                    "    "act" : 0
    " +
                    "  }
    " +
                    "}";
            when(restTemplate.postForObject(anyString(), anyObject(), eq(String.class))).thenReturn
                    (jsonResult);
        }
    }
  • 相关阅读:
    make_blobs(源码)
    odoo13
    Odoo Community & Enterprise | & 我的一些瞎扯。。
    odoo 应用笔记 01 [草稿]
    PVE 为虚拟机 直通硬盘
    freebsd 断电 单用户模式恢复
    odoo 绿色版
    WSL 手动下载安装
    Command pg_dump not found
    odoo性能优化
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/8287911.html
Copyright © 2020-2023  润新知