{"id":232,"date":"2024-02-26T15:37:49","date_gmt":"2024-02-26T07:37:49","guid":{"rendered":"https:\/\/blessingcr.com\/?p=232"},"modified":"2024-02-26T15:37:49","modified_gmt":"2024-02-26T07:37:49","slug":"%e5%8d%95%e5%85%83%e6%b5%8b%e8%af%95-%e6%a0%b7%e4%be%8b%e4%bb%a3%e7%a0%81","status":"publish","type":"post","link":"https:\/\/blessingcr.com\/?p=232","title":{"rendered":"\u5355\u5143\u6d4b\u8bd5-\u6837\u4f8b\u4ee3\u7801"},"content":{"rendered":"<ol>\n<li>mock\u6d4b\u8bd5<\/li>\n<\/ol>\n<pre><code class=\"language-java\">package com.yunshang.module.portalweb.service.article;\n\nimport com.yunshang.framework.common.pojo.PageResult;\nimport com.yunshang.module.portalweb.controller.admin.article.vo.req.ArticlePageReqVO;\nimport com.yunshang.module.portalweb.controller.admin.article.vo.resp.ArticleRespVO;\nimport com.yunshang.module.portalweb.dal.dataobject.article.ArticleDO;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleCatalogMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleDetailMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleFileMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleMapper;\nimport com.yunshang.module.portalweb.dal.mysql.catalog.CatalogMapper;\nimport com.yunshang.module.portalweb.service.catalog.CatalogService;\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.junit.jupiter.api.Assertions;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\nimport org.mockito.InjectMocks;\nimport org.mockito.Mock;\nimport org.mockito.MockitoAnnotations;\nimport org.slf4j.Logger;\n\nimport java.util.Calendar;\nimport java.util.GregorianCalendar;\nimport java.util.List;\n\nimport static org.mockito.Mockito.*;\n\n\/**\n * ---------------------------\n *\n * @author : Chen Rong\n * @version : v1.0\n * ---------------------------\n * @Description :\n * ---------------------------\n * @date : 2024\u5e7402\u670826\u65e5 14:55\n *\/\nclass ArticleServiceImplTest2 {\n    @Mock\n    ArticleMapper articleMapper;\n    @Mock\n    CatalogService catalogService;\n    @Mock\n    ArticleCatalogService articleCatalogService;\n    @Mock\n    ArticleDetailMapper articleDetailMapper;\n    @Mock\n    ArticleFileMapper articleFileMapper;\n    @Mock\n    CatalogMapper catalogMapper;\n    @Mock\n    ArticleCatalogMapper articleCatalogMapper;\n    @Mock\n    Logger log;\n    @Mock\n    SqlSessionFactory sqlSessionFactory;\n    \/\/Field typeArguments of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    \/\/Field entityClass of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    \/\/Field mapperClass of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    @InjectMocks\n    ArticleServiceImpl articleServiceImpl;\n\n    @BeforeEach\n    void setUp() {\n        MockitoAnnotations.openMocks(this);\n    }\n\n    @Test\n    void testGetArticlePage() {\n        when(articleMapper.selectPage(any(), anyInt())).thenReturn(new PageResult&amp;lt;ArticleDO&amp;gt;(List.of(new ArticleDO()), Long.valueOf(1)));\n\n        PageResult&amp;lt;ArticleRespVO&amp;gt; result = articleServiceImpl.getArticlePage(new ArticlePageReqVO(Long.valueOf(1), &amp;quot;title&amp;quot;, Integer.valueOf(0), new GregorianCalendar(2024, Calendar.FEBRUARY, 26, 14, 55).getTime(), new GregorianCalendar(2024, Calendar.FEBRUARY, 26, 14, 55).getTime(), Boolean.TRUE));\n        Assertions.assertEquals(new PageResult&amp;lt;ArticleRespVO&amp;gt;(List.of(new ArticleRespVO()), Long.valueOf(1)), result);\n    }\n\n}\n\n\/\/Generated with love by TestMe :) Please raise issues &amp;amp; feature requests at: https:\/\/weirddev.com\/forum#!\/testme<\/code><\/pre>\n<ol>\n<li>\u4f7f\u7528\u771f\u5b9e\u6570\u636e\u5e93\u6d4b\u8bd5\uff08\u6700\u597d\u4e0d\u8981\uff09<\/li>\n<\/ol>\n<pre><code class=\"language-java\">package com.yunshang.module.portalweb.service.article;\n\nimport com.yunshang.module.portalweb.controller.admin.article.vo.resp.ArticleDetailRespVO;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleCatalogMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleDetailMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleFileMapper;\nimport com.yunshang.module.portalweb.dal.mysql.article.ArticleMapper;\nimport com.yunshang.module.portalweb.dal.mysql.catalog.CatalogMapper;\nimport com.yunshang.module.portalweb.service.catalog.CatalogService;\nimport org.apache.ibatis.session.SqlSessionFactory;\nimport org.junit.jupiter.api.Assertions;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\nimport org.mockito.Mock;\nimport org.mockito.MockitoAnnotations;\nimport org.slf4j.Logger;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\n\nimport javax.annotation.Resource;\n\n@SpringBootTest\nclass ArticleServiceImplTest {\n    @Autowired\n    ArticleMapper articleMapper;\n    @Mock\n    CatalogService catalogService;\n    @Mock\n    ArticleCatalogService articleCatalogService;\n    @Mock\n    ArticleDetailMapper articleDetailMapper;\n    @Mock\n    ArticleFileMapper articleFileMapper;\n    @Mock\n    CatalogMapper catalogMapper;\n    @Mock\n    ArticleCatalogMapper articleCatalogMapper;\n    @Mock\n    Logger log;\n    @Mock\n    SqlSessionFactory sqlSessionFactory;\n    \/\/Field typeArguments of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    \/\/Field entityClass of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    \/\/Field mapperClass of type Class - was not mocked since Mockito doesn&amp;#039;t mock a Final class when &amp;#039;mock-maker-inline&amp;#039; option is not set\n    @Resource\n    ArticleService articleServiceImpl;\n\n    @BeforeEach\n    void setUp() {\n        MockitoAnnotations.openMocks(this);\n    }\n\n    @Test\n    void testGetArticlePage() {\n        \/\/ \u6b64\u5904\n        ArticleDetailRespVO result = articleServiceImpl.selectArticleDetail(1750342735686905857L);\n        ArticleDetailRespVO trueRes = new ArticleDetailRespVO();\n        Assertions.assertEquals(new ArticleDetailRespVO(), result);\n    }\n\n}\n\n\/\/Generated with love by TestMe :) Please raise issues &amp;amp; feature requests at: https:\/\/weirddev.com\/forum#!\/testme<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>mock\u6d4b\u8bd5 package com.yunshang.module.portalweb.service.ar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[82],"tags":[83],"class_list":["post-232","post","type-post","status-publish","format-standard","hentry","category-82","tag-83"],"_links":{"self":[{"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blessingcr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=232"}],"version-history":[{"count":1,"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/blessingcr.com\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/blessingcr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blessingcr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blessingcr.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}