`

单元测试特殊场景代码示例

阅读更多

最近在教研发部小伙伴写单元测试发现,大部门常见的Service、DAO层的Mock大家是会的,但是一些特殊情况问问无从下手,下边巨蟹栗子:

case1:MultipartFile

被测试方法:

public String getUploadOSSUrl(String path, MultipartFile file) throws IOException {
byte[] bytes = file.getBytes();
return ossClientService.uploadBytes(path, bytes);
}

 

单元测试代码:

@Test
public void testGetUploadOSSUrl() throws Exception {
File file = new File("src/main/resources/application.properties");
String path = "";
MultipartFile mfile = new MockMultipartFile("haha.jpg", // 文件名
"haha.jpg", // originalName 相当于上传文件在客户机上的文件名
ContentType.APPLICATION_OCTET_STREAM.toString(), // 文件类型
new FileInputStream(file));
asyncTaskService.getUploadOSSUrl(path, mfile);
}

 

case2:DAO层返回Page

被测试代码:

Page<AnnouncementEntity> page =
announcementDAO.findAll(new Specification<AnnouncementEntity>(){},Pageable);

单元测试代码:

List<AnnouncementEntity> list = new ArrayList<AnnouncementEntity>();
AnnouncementEntity ae = new AnnouncementEntity();
ae.setAddTime(new Date());
list.add(ae);
Pageable pageable = new PageRequest(1, 10, Sort.Direction.DESC, "addTime");
Page<AnnouncementEntity> page = new PageImpl(list, pageable, 10);
when(announcementDAO.findAll(Mockito.any(Specification.class),Mockito.any(Pageable.class))).thenReturn(page);

 

 

 

 

 

分享到:
评论

相关推荐

    delphi短信接口源代码示例共3页.pdf.zip

    9. **测试与调试**:在实际部署前,需要对短信接口进行充分的测试,包括单元测试和集成测试,确保在各种场景下都能正常工作。 10. **合规性**:确保你的应用遵守所有相关的法律和法规,特别是在处理用户数据和隐私...

    android 单元测试 附

    在`aboutUnit`这个可能的压缩包文件中,可能包含了关于Android单元测试的详细教程、示例代码或者工具的介绍。解压并查看这些资源可以帮助开发者进一步了解和掌握Android单元测试的具体实施步骤和最佳实践。 总之,...

    Android上的单元测试

    在单元测试场景下,Instrumentation能够通过命令行启动一组测试,并以命令行形式返回测试结果,从而避免了为测试编写专门用户界面的需求。 ##### 4.2 使用Instrumentation进行测试 - **测试流程**:首先,定义一...

    JavaScript_打印方法_基于浏览器_详细代码示例

    ### JavaScript打印方法:基于浏览器的详细代码示例 在网页开发中,JavaScript提供了一系列方法来实现页面内容的打印功能,这对于...无论是常规的打印需求还是特殊场景下的定制化打印,JavaScript都能提供强大的支持。

    PowerBuilder Win32 API程序设计高级卷 代码示例

    书中的代码示例涵盖了多个关键主题,旨在帮助开发者深入理解并熟练掌握PowerBuilder与Win32 API的结合使用。 1. **第4章:键盘的消息机制及控制** 这一章主要讲解了如何利用Win32 API来处理键盘事件,包括键盘消息...

    玩转Google开源C++单元测试框架Google_Test.pdf

    - **框架背景**:Google Test 是由 Google 开发并维护的一款强大的 C++ 单元测试框架,广泛应用于 C++ 开发项目中进行代码质量控制和功能验证。 - **主要特性**:提供了丰富的断言库、支持事件监听机制、参数化测试...

    Pragmatic Bookshelf Pragmatic Unit Testing in CSharp with NUnit 2nd Edition

    针对C#开发者,本书深入探讨了如何处理测试特殊场景,如测试私有方法、模拟(Mocking)对象、测试多线程代码以及测试依赖注入等复杂问题。书中还提供了实际的代码示例,帮助读者更好地理解和应用这些技术。 此外,...

    生成junit测试类

    在某些情况下,常规的模拟框架无法处理这些特殊情况,而PowerMock则提供了这些功能,使得更复杂的测试场景得以实现。 5. 生成JUnit测试类:一些工具和IDE(如IntelliJ IDEA、Eclipse)提供了自动生成JUnit测试类的...

    禁用Ctrl+Alt+Del的代码示例

    然而,在特定的场景下,比如开发特殊的应用或者进行系统测试时,可能会有需求来禁用这个键的组合。下面我们将详细探讨如何禁用Ctrl+Alt+Del以及相关的技术知识。 禁用Ctrl+Alt+Del的一种常见方法是通过注册表编辑...

    天翼短信验证码示例代码

    总的来说,短信验证码是保证用户账户安全的重要工具,理解并掌握其背后的实现原理和代码示例,对于提升你的开发能力大有裨益。通过学习这个“天翼短信验证码示例代码”,你将能够更好地在实际项目中应用这一功能,...

    TreeGrid.dll 和特殊字符过滤代码

    在压缩包的`新建文件夹 (5)`中,可能包含了示例代码、文档或测试用例,以演示如何在具体项目中实施`TreeGrid.dll`与特殊字符过滤的结合使用。为了深入了解,你需要查看这些文件内容,包括源代码、注释和可能的使用...

    Java多线程详解及示例

    - 检测和恢复死锁:定期检查系统状态,检测到死锁后,可以终止某个线程或者回滚事务来打破死锁状态。 4. 线程池 Java提供了ExecutorService和ThreadPoolExecutor类来管理线程,创建线程池可以有效控制并发线程的...

    功能测试用例大全1500条

    - **文本框**:测试包括不同类型的文本框如普通文本、特殊代码校验、数值型、日期型和时间型。对于特殊代码校验,需验证输入格式是否正确,数值型文本框则需检查输入数值的有效性和范围限制。 - **密码框**:测试...

    PHP 过滤生僻字和特殊字符

    在提供的"demo"文件中,可能包含了一个实际的PHP代码示例,用于过滤生僻字和特殊字符。你可以解压文件查看具体的实现方式,学习如何在实际项目中应用上述方法。 总的来说,过滤生僻字和特殊字符是保障PHP应用安全性...

    深入探讨JavaScript中的NaN检测技巧

    本文将详细探讨在JavaScript中检测NaN的各种技巧,并通过代码示例进行说明。 在JavaScript中检测NaN是一个常见的需求,但由于NaN的特殊性质,直接比较会失败。通过使用Number.isNaN()、Object.is()等方法,我们可以...

    实验4-示例代码_RNN.zip

    代码示例可能还会涵盖如何使用损失函数(如交叉熵损失)和优化器(如Adam)来评估和改进模型性能。 此外,RNN的评估通常涉及准确率、困惑度(Perplexity)等指标。在自然语言处理任务中,你可能会看到如何使用验证...

    js代码

    - **代码示例**: ```html oncontextmenu="window.event.returnValue=false" (false)"&gt;&lt;td&gt;no ``` - **解释**:这段代码通过将`oncontextmenu`事件设置为返回`false`,可以阻止浏览器默认的右键菜单显示。这对于...

    网页代码常用小技巧 特效代码

    - **代码示例**: ```html onkeypress="window.event.returnValue=false" onkeydown="window.event.returnValue=false" onkeyup="window.event.returnValue=false" ondragstart="window.event.returnValue=...

    利用PowerMock模拟静态方法和私有方法的示例

    在软件开发过程中,单元测试是确保代码质量的重要环节。它允许开发者独立地验证代码的各个部分,确保每个小模块的功能正确无误。然而,有些情况下,正常的单元测试框架可能无法覆盖到所有的情况,比如静态方法和私有...

Global site tag (gtag.js) - Google Analytics