1.POM 引入以下依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.5.2</version>
<scope>test</scope>
</dependency>
2.Service层接口单元测试示例
package xxx.xxx.xxx;
import org.apache.commons.collections.CollectionUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Arrays;
@RunWith(MockitoJUnitRunner.class)
@Slf4j
class CommonServiceImplTest {
@Autowired
@InjectMocks
CommonServiceImpl commonService;
@Mock
ServiceA serviceA;
@Mock
ServiceB servieB;
private QueryBo queryBO;
@BeforeEach
public void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void getSourceCodeMap() {
queryBO = new QueryBO();
queryBO.setFieldA("A");
queryBO.setFieldB("B");
CommonEntity entity = new CommonEntity ();
entity.setField1("1");
entity.setField2("2");
Mockito.when(serviceA.list(queryBO)).thenReturn(Arrays.asList(new CommonEntity []{entity}));
Assert.assertNotNull(commonService.getSourceCodeMap());
}
CommonServiceImpl
在方法getSourceCodeMap()
调用了ServiceA
的方法list(QueryBO queryBo)
。