`
kanpiaoxue
  • 浏览: 1781249 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

自己使用的简化的单测模板(部分代码)

 
阅读更多
import static org.junit.Assert.*;
import static org.powermock.api.mockito.PowerMockito.*;
import static org.powermock.reflect.Whitebox.*;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;
import static com.google.common.base.Preconditions.*;



    @Before
    public void before() {

        this.employeeBasicService = mock(EmployeeBasicService.class);
        setInternalState(impl, "employeeBasicService", employeeBasicService);

    }



private EntryServiceImpl impl;
private EnhancedUserQueryReadService enhancedUserQueryService;
private void init() {
    impl = new EntryServiceImpl();
    this.enhancedUserQueryService = mock(EnhancedUserQueryReadService.class);
    setInternalState(impl, "enhancedUserQueryService", enhancedUserQueryService);
}

private EntryServiceImpl impl;
private void init() {
    impl = new EntryServiceImpl();
}

try {
    init();
    fail();
} catch (Exception e) {
    assertTrue(true);
}



try {
    init();

} catch (Exception e) {
    e.printStackTrace();
    fail(e.getMessage());
}



解决问题: Could not reconfigure JMX java.lang.LinkageError: loader constraint violation: loader (instance of org/powermock/core/classloader/MockClassLoader) previously initiated loading for a different type with name "javax/management/MBeanServer"
@PowerMockIgnore({"javax.management.*"})
解决问题: java.security.NoSuchAlgorithmException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLSContext not a SSLContext
@PowerMockIgnore({"javax.net.ssl.*"})

@RunWith(PowerMockRunner.class) // mock静态方法,必须有
@PrepareForTest({ DateTime.class }) // mock静态方法,必须有
@PowerMockIgnore({"javax.net.ssl.*","javax.management.*"})
public class CommonUtilsTest {

    mockStatic(DateTime.class);

    mockStatic(OpLogClient.class);
    doNothing().when(OpLogClient.class);
    OpLogClient.log(anyObject());
}



actual
expected



return new com.google.gson.GsonBuilder().setPrettyPrinting().create().toJson(this);





 

分享到:
评论

相关推荐

    行业文档-设计装置-410mm聚苯乙烯保温墙体单侧模板.zip

    在建筑工程领域,410mm聚苯乙烯保温墙体单侧模板设计是一种常见的建筑技术,用于提高建筑的能源效率和保温性能。这种设计方法主要应用于冷气候区,旨在减少热量损失,提升居住或工作空间的舒适度,同时符合建筑节能...

    三角网格简化程序源代码

    2. **简化算法**:这是源代码的核心部分,可能包含如Quadric Error Metrics(四元数误差度量)、Ramer-Douglas-Peucker算法或最近点投影等经典简化方法。这些算法通过衡量简化后与原模型的差异来决定哪些三角形可以...

    1400套淘宝装修模板代码

    综上所述,“1400套淘宝装修模板代码”为商家提供了一个广阔的创作空间,不仅简化了装修过程,还极大地提升了店铺的专业形象和市场竞争力。然而,正确地选择和使用模板代码同样重要,需要结合自身的实际情况和市场...

    PhpCMS V9模板代码生成器

    1. 在使用模板代码生成器时,确保系统环境符合PhpCMS V9的运行要求。 2. 定期更新软件以获取最新的功能和修复可能存在的问题。 3. 使用生成的模板时,应遵循PhpCMS V9的许可协议,尊重开源社区的规则。 通过深入...

    SpringBoot Velocity 代码生成模板

    Spring Boot作为一款轻量级的框架,简化了初始化和配置过程,而Velocity则是一个强大的模板引擎,允许开发者自定义生成代码的样式和结构。 在Spring Boot项目中,利用Velocity模板引擎,我们可以创建一系列模板文件...

    代码生成工具,可自己编写模板 CodeSmith.5.0.1

    总的来说,CodeSmith是一款针对开发人员的高效工具,通过自定义模板和强大的代码生成能力,它可以简化许多常见的编码任务,提高开发团队的生产力。无论是在大型企业还是小型项目中,它都能发挥出显著的价值。对于...

    朗域装饰公司整站模板源代码

    在使用这个模板时,开发者或网站管理员需要具备一定的HTML、CSS和JavaScript基础,以便理解和编辑代码。对于不熟悉这些技术的用户,可以借助可视化建站工具或寻找专业开发者协助完成定制工作。 总结来说,"朗域装饰...

    模板代码Hsssssssss.zip

    在使用模板代码时,开发者应当根据自己的项目需求进行适当的修改,例如替换默认配置、添加特定功能、调整样式等。同时,理解模板的内部工作原理也非常重要,这样在遇到问题时才能更有效地解决。 总结来说,模板代码...

    LISP源代码简化程序

    LISP源代码简化程序的目的是为了优化和压缩LISP代码,使其在某些情况下更小、更紧凑,尽管这可能会牺牲代码的可读性。 LISP的语法基于S表达式,这是一种树形的数据结构,由括号包围的元素组成。S表达式可以是原子...

    一套基于模版的代码生成器

    【标题】:“基于模板的代码生成器”是一种实用的开发工具,它允许...总的来说,基于模板的代码生成器是现代软件开发中的利器,通过合理利用它可以极大地提升开发效率,简化项目管理,同时保持代码的整洁和一致性。

    25个各类型网站HTML5CSS3模板源代码

    这简化了开发流程,同时提高了页面加载速度。 4. **JavaScript**:JavaScript是一种广泛用于网页动态效果和交互的脚本语言。在HTML5模板中,JavaScript通常与HTML5 API结合使用,如Geolocation API(定位服务)、...

    经典网页模板(20套)

    10. **文档支持**:一个好的模板包通常会附带详细的使用指南或文档,解释如何导入和修改模板,这对于初学者尤其重要。 通过"经典网页模板(20套)"这个资源,无论是网页设计师还是开发者,都能找到适合自己的模板,...

    新闻发补系统教你如何简化代码

    在JSP开发中,简化代码是非常重要的,因为它可以提高代码的可读性、可维护性和性能。以下是一些关键知识点: 1. **MVC设计模式**:在新闻发佈系统中,Model-View-Controller(MVC)模式是常用的设计模式。Model负责...

    个人搜集的淘宝SDK高级模板代码+淘宝sdk模块代码

    通过深入研究和理解这个压缩包中的高级模板代码和模块代码,开发者可以快速掌握淘宝SDK的使用,提升开发效率,并为自己的应用添加淘宝相关的功能。同时,这些代码也是很好的学习资料,可以帮助开发者理解和学习API...

    19.zip_19素材网_个人中心模板_代码_整站模板_素材技术站

    【描述】中提到,这个模板包含的代码相对简单,适合那些对网站设计有一定基础但并不需要复杂功能的用户使用。整站模板通常包括了网站的各个关键部分,如头部、导航、主体内容、侧边栏、底部等,以及用户交互的部分,...

    350模板和4y4模板代码提取器

    在使用"350模板和4y4模板代码提取器"时,用户可以首先运行压缩包内的"ThrFour.exe"应用程序。这个可执行文件很可能是该工具的主程序。通过它,用户可以导入350模板或4y4模板的文件,然后工具将自动分析其中的CSS样式...

    web网页前端模板

    Web前端模板则是为了加速开发过程,提供预设样式和布局的代码框架。标题提到的"web网页前端模板",具体指的是"H+4.1最新完整无压缩源码",这是一个流行的前端开发模板,用于快速构建现代网页设计。 H+模板是一款...

    徒步旅行网站模板源代码

    【徒步旅行网站模板源代码】是一款专为户外旅行爱好者设计的HTML模板,旨在提供一个吸引人的、用户友好的在线平台,让游客可以轻松地获取旅行信息、预订服务以及分享他们的冒险经历。这款模板以其独特的设计风格和...

    前端框架模板手册

    在前端模板1中,你可能将学习到如何使用 Handlebars、Mustache 或 EJS 等模板引擎来简化视图渲染,以及如何在不同框架中集成和管理这些模板。 前端手册1通常会涵盖基础到高级的前端开发知识,包括但不限于: 1. ...

    26款团购秒杀模板代码

    在IT行业中,团购秒杀模板代码是用于构建电商平台上的限时抢购或团购活动的重要组成部分。这类模板通常包含一系列精心设计的HTML、CSS和JavaScript代码,用于展示商品、处理用户交互和实现后台数据通信,以确保用户...

Global site tag (gtag.js) - Google Analytics