-
如何写出能让人测试的代码10
我有一个方法,伪代码如下:
public void calculate(int aDBKey) { Data aData = DBManager.lookup(aDBKey);//从数据库取数据 Data aCalculatedData = operationOnData(aData); DBManager.save(aCalculatedData); //保存数据库 }
我有DBManager的Mock对象,如何写测试来验证此类代码的正确性呢? 我考虑过将数据库取代码的逻辑移出去,这样我测试的代码就和数据库的逻辑无关了,是不是该这么做??
问题补充daquan198163 写道用jmockit可以mock静态方法,见http://ginge.iteye.com/blog/841185
或者重构一下,不要用静态方法,注入一个DBManager实例然后调用非静态方法
怎么个注入法?难道写个利用Mock对象替代方法内部对象的同样逻辑的方法,不能这么弄吧?
问题补充:<div class="quote_title">beneo 写道</div><div class="quote_div">我一直都在用easymock,来mock你的行为,很简单也很实用</div> <br />我是不知道如何测试可以说明主要这段代码是正确的。2010年12月30日 10:27
4个答案 按时间排序 按投票排序
-
public void calculate(int aDBKey) { Data aData = DBManager.lookup(aDBKey);//从数据库取数据 Data aCalculatedData = operationOnData(aData); DBManager.save(aCalculatedData); //保存数据库 }
你可以变成
public void calculate(int aDBKey) { Data aData = lookupFromDBmanager(aDBKey)/从数据库取数据 Data aCalculatedData = operationOnData(aData); save(aData, aCalculatedData); //保存数据库 } private Data lookupFromDBmanager(int aDBKey) { } private Save (Date date, int result) { }
2010年12月30日 13:40
-
用jmockit可以mock静态方法,见http://ginge.iteye.com/blog/841185
或者重构一下,不要用静态方法,注入一个DBManager实例然后调用非静态方法2010年12月30日 10:27
相关推荐
测试代码的主要目的是验证程序的功能是否按照预期工作,并找出可能存在的错误或缺陷。C语言中的测试通常包括单元测试、集成测试和系统测试等阶段。单元测试关注的是程序中的最小可测试单元,如函数或方法,确保它们...
VTK,全称为 Visualization Toolkit,是一个开源的三维可视化软件库,广泛用于科学...通过深入研究源码、测试代码和示例,你可以掌握数据可视化的核心技术,从而在科研、工程或其他领域创建出令人惊叹的可视化效果。
在IT领域,尤其是在机器学习和计算机视觉中,"数字识别测试代码_手写体测试代码_"这个主题涉及到了几个关键的知识点。手写体识别是一种技术,它允许计算机系统理解和解析人类手写的数字、字母或其他字符。这项技术...
在IT行业中,测试代码是软件开发过程中的关键环节,它确保了程序的稳定性和功能的正确性。"新建文本文档 (2)_测试代码_"这个标题暗示我们将探讨与编写和执行测试代码相关的主题。测试代码通常包括单元测试、集成测试...
4. **调试技巧**:在处理“没写完的代码”时,使用断点、日志记录、单元测试等调试技巧能有效定位问题。Arthas的命令如`trace`和`watch`可以动态追踪代码执行,帮助开发者了解代码实际运行路径。 5. **持续集成与...
这种测试代码在实际开发中有着广泛的应用,如文件备份、日志记录、大数据处理等场景。了解文件写入速度对于评估系统的存储性能,优化程序执行效率,以及选择合适的硬件配置都至关重要。 6. **注意事项**: 在进行...
总之,《每天写出好代码的5个建议03》通过简短的文字传达了提升代码质量的核心理念,即保证代码逻辑的正确性、增强代码的可读性和可维护性,以及持续学习和改进。这些原则适用于所有类型的软件开发项目,无论是个人...
因此,如何在面试时能写出高质量的代码,是很多程序员关心的问题。 代码的规范性 代码的规范性是面试官评价应聘者的重要标准之一。应聘者首先要把代码写得规范,才可以避免很多低级错误。如果代码写得不够规范,会...
《EB-SAM3U开发板测试代码详解》 在嵌入式系统开发中,硬件平台的选择和测试至关重要,其中EB-SAM3U开发板因其强大的功能和灵活性,被广泛应用于各种项目。本篇将深入探讨该开发板上的关键组件如ADC(模拟数字转换...
总结来说,这个压缩包提供的"C代码-测试测试测试"是一个C语言的简单项目实例,包含一个源代码文件和一个说明文件。"main.c"是程序的核心,包含C语言的逻辑和功能实现,而"README.txt"则是对项目背景、使用方法及可能...
- 在实际应用前,必须确保代码能正确运行。可以创建单元测试检查各个方法的功能,同时进行集成测试以确保整个流程的顺畅。 9. **安全考虑**: - 当处理用户敏感信息如邮箱账号时,必须确保安全。不要在代码中硬...
(转置,求逆,求余子式,求行列式等等) 本来我也不想写这个东西,但是做作业需要... 本来这东西在网上遍地都是,不过我给下载了几个文件,结果还是...在压缩文件里,给出了测试的代码(这个写的就真的很乱了..)...
6. **交流分享**:由于描述中提到“欢迎使用交流”,这可能意味着开发者鼓励用户共享使用经验、遇到的问题以及解决方案,这对于社区中的其他人来说是一份宝贵的资源。 在Linux环境下进行EEPROM的读写测试,不仅涉及...
9. **测试与调试**:源代码中应包含单元测试和集成测试,以确保各功能模块的正确性,同时调试工具和日志系统便于找出和修复问题。 通过学习这个斗地主完整源代码,开发者不仅可以了解游戏开发的基本流程,还能深入...
好的测试其实就是一个好的文档,这个类使用者往往可以通过查看这个类的测试代码了解它的功能。 4. JUnit 的应用 JUnit 是一个支持在 Java 代码中撰写单元测试的框架。程序设计师可以使用 JUnit 来撰写单元测试,并...
2. 测试驱动开发(TDD):先写测试,再编写能满足测试的代码。 3. 结对编程:两人一起编写和审查代码,提高代码质量和测试覆盖率。 通过软件测试速成课程,学习者将掌握以上关键概念和实践技巧,能够更有效地进行...
STM32单片机人流量检测器,这个是使用两个红外光电传感器来检测出、入的人数,每天统计到stm32的eeprom中,通过IIC的OLED显示屏进行实时人数显示,使用一个按键来交互查询近一个星期的人流量数值。同时具备da1302...
此外,Mockito等模拟框架可以帮助我们在孤立的环境中测试代码,避免依赖其他组件的影响。TDD(测试驱动开发)和BDD(行为驱动开发)是两种流行的开发模式,它们强调先写测试,再编写满足测试的代码,以确保软件功能...
标题中的“自己写的闹钟源代码”表明这是一个个人开发的软件项目,主要功能是实现闹钟功能。在描述中提到,这个闹钟程序不仅能在指定时间播放音乐,还包含两个不同的时间显示方式:一个自绘的时钟和一个LED数字时钟...