Java Mock测试maven 依赖

需要添加的依赖为:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>2.19.1</version>
    <scope>test</scope>
</dependency>

测试代码可以如下:
package com.baozun.ecs.oms4.sp.cicd.unit.sp;

import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.when;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.springframework.data.mongodb.core.MongoOperations;

public class EditSpInfoTest extends BaseUnitTest{

@InjectMocks
private MongoDbSpInfoEditManagerImpl mongoDbSpInfoEditManagerImpl;
@Mock
private MongoOperations mongoOperations;

@Test(expected = IllegalArgumentException.class)
public void 促销活动编辑_入参不合法_编辑失败_抛异常() throws Exception {
    // given(入参)
    SpInfoEditVo spInfoEditVo = null;

    // when
    mongoDbSpInfoEditManagerImpl.editSalesPromotionInfo(spInfoEditVo);
    // then(出参)
}

@Test(expected = IllegalArgumentException.class)
public void 促销活动编辑_入参合法_促销活动不存在() throws Exception {
    //given(入参) 
    SpInfoEditVo spInfoEditVo = SpInfoEditVoFactory.newSpInfoEditVo();
    when(mongoOperations.findOne(any(), any(), anyString())).thenReturn(null);

    //when(方法)
    mongoDbSpInfoEditManagerImpl.editSalesPromotionInfo(spInfoEditVo);

    //then(出参)
}

@Test(expected = IllegalArgumentException.class)
public void 促销活动编辑_入参合法_促销状态notin新建驳回待提交_编辑失败_抛异常() throws Exception{
    // given(入参)
    SpInfoEditVo spInfoEditVo = SpInfoEditVoFactory.newSpInfoEditVo();
    SpInfo returnSpInfo = SpInfoFactory.newSpInfo();
    returnSpInfo.setStatus(Constants.SP_STATUS_5);
    when(mongoOperations.findOne(any(), any(), anyString())).thenReturn(returnSpInfo);

    // when
    mongoDbSpInfoEditManagerImpl.editSalesPromotionInfo(spInfoEditVo);

    // then(出参)
}

@Test
public void 促销活动编辑_入参合法_比对有差异_编辑成功() throws Exception {
    // given(入参)
    SpInfoEditVo spInfoEditVo = SpInfoEditVoFactory.newSpInfoEditVo();
    spInfoEditVo.setId("5b459bf6daac922b69647960");

    SpInfo returnSpInfo = SpInfoFactory.newSpInfo();
    when(mongoOperations.findOne(any(), any(), anyString())).thenReturn(returnSpInfo);

// BeanUtils.copyProperties(spInfoEditVo, returnSpInfo);

    // when
    mongoDbSpInfoEditManagerImpl.editSalesPromotionInfo(spInfoEditVo);
    // then(出参)
}

}

猜你喜欢

转载自blog.csdn.net/u010986518/article/details/81171520