- mock测试
package com.yunshang.module.portalweb.service.article;
import com.yunshang.framework.common.pojo.PageResult;
import com.yunshang.module.portalweb.controller.admin.article.vo.req.ArticlePageReqVO;
import com.yunshang.module.portalweb.controller.admin.article.vo.resp.ArticleRespVO;
import com.yunshang.module.portalweb.dal.dataobject.article.ArticleDO;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleCatalogMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleDetailMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleFileMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleMapper;
import com.yunshang.module.portalweb.dal.mysql.catalog.CatalogMapper;
import com.yunshang.module.portalweb.service.catalog.CatalogService;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.slf4j.Logger;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import static org.mockito.Mockito.*;
/**
* ---------------------------
*
* @author : Chen Rong
* @version : v1.0
* ---------------------------
* @Description :
* ---------------------------
* @date : 2024年02月26日 14:55
*/
class ArticleServiceImplTest2 {
@Mock
ArticleMapper articleMapper;
@Mock
CatalogService catalogService;
@Mock
ArticleCatalogService articleCatalogService;
@Mock
ArticleDetailMapper articleDetailMapper;
@Mock
ArticleFileMapper articleFileMapper;
@Mock
CatalogMapper catalogMapper;
@Mock
ArticleCatalogMapper articleCatalogMapper;
@Mock
Logger log;
@Mock
SqlSessionFactory sqlSessionFactory;
//Field typeArguments of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
//Field entityClass of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
//Field mapperClass of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
@InjectMocks
ArticleServiceImpl articleServiceImpl;
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void testGetArticlePage() {
when(articleMapper.selectPage(any(), anyInt())).thenReturn(new PageResult<ArticleDO>(List.of(new ArticleDO()), Long.valueOf(1)));
PageResult<ArticleRespVO> result = articleServiceImpl.getArticlePage(new ArticlePageReqVO(Long.valueOf(1), "title", Integer.valueOf(0), new GregorianCalendar(2024, Calendar.FEBRUARY, 26, 14, 55).getTime(), new GregorianCalendar(2024, Calendar.FEBRUARY, 26, 14, 55).getTime(), Boolean.TRUE));
Assertions.assertEquals(new PageResult<ArticleRespVO>(List.of(new ArticleRespVO()), Long.valueOf(1)), result);
}
}
//Generated with love by TestMe :) Please raise issues & feature requests at: https://weirddev.com/forum#!/testme
- 使用真实数据库测试(最好不要)
package com.yunshang.module.portalweb.service.article;
import com.yunshang.module.portalweb.controller.admin.article.vo.resp.ArticleDetailRespVO;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleCatalogMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleDetailMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleFileMapper;
import com.yunshang.module.portalweb.dal.mysql.article.ArticleMapper;
import com.yunshang.module.portalweb.dal.mysql.catalog.CatalogMapper;
import com.yunshang.module.portalweb.service.catalog.CatalogService;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
@SpringBootTest
class ArticleServiceImplTest {
@Autowired
ArticleMapper articleMapper;
@Mock
CatalogService catalogService;
@Mock
ArticleCatalogService articleCatalogService;
@Mock
ArticleDetailMapper articleDetailMapper;
@Mock
ArticleFileMapper articleFileMapper;
@Mock
CatalogMapper catalogMapper;
@Mock
ArticleCatalogMapper articleCatalogMapper;
@Mock
Logger log;
@Mock
SqlSessionFactory sqlSessionFactory;
//Field typeArguments of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
//Field entityClass of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
//Field mapperClass of type Class - was not mocked since Mockito doesn't mock a Final class when 'mock-maker-inline' option is not set
@Resource
ArticleService articleServiceImpl;
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void testGetArticlePage() {
// 此处
ArticleDetailRespVO result = articleServiceImpl.selectArticleDetail(1750342735686905857L);
ArticleDetailRespVO trueRes = new ArticleDetailRespVO();
Assertions.assertEquals(new ArticleDetailRespVO(), result);
}
}
//Generated with love by TestMe :) Please raise issues & feature requests at: https://weirddev.com/forum#!/testme
发表回复