`

我该如何写单元测试?

 
阅读更多

  在我的团队中,单元测试是较难推行的敏捷实践之一,我思考后觉得有以下原因:

1、主观上觉得会加大工作量,影响进度

2、从未接触junit等单元测试框架,害怕接触新事物

3、团队形式上要求、形式上开展,但是未能结合培训、Code Review等方式持续推行

 

  其实单元测试是个相当简单的技术,当然,要做的完美也要花很多的心思。单元测试无非就是:AAA模式——Arrange(测试设置)、Act(调用测试里的代码)、Assert(测试通过的标准)。

测试设置:测试环境的准备,例如构造mock对象,设置数据库表数据等

Act:       编写测试方法,调用被测试代码

Assert: 利用断言设置通过的标准

 

 

  很多开发人员不写单元测试,但是他会写个main方法去测试代码,这样做不好的地方在于测试的方法提交后一般要求会删除掉,

不能做沉淀。main方法也不能进行自动执行测试。我建议还未踏入门槛的程序员可以先把main方法要写的测试代码,使用单元测试的结构

搬到单元测试中。踏出第一步,关键你已经出发,你要在路上!

 

最后,送你一篇文章:迈出单元测试的第一步

0
3
分享到:
评论

相关推荐

    程序员为什么不写单元测试?[1]

    程序员为什么不写单元测试?[1]单元测试工具赛门铁克误杀门事件在一片争议声中落下了帷幕,但是它身后隐蔽的问题还远未结束,诺顿误杀彰显测试价值的回归,同时也向广大的程序员们敲响了警钟,不做单元测试的程序员在...

    程序员为什么不写单元测试?[2]

    程序员为什么不写单元测试?[2]单元测试工具一个bug被隐藏的时间越长,修复这个bug的代价就越大。在《快速软件开发》一书中已引用了大量的研究数据指出:最后才修改一个bug的代价是在bug产生时修改它的代价的10倍。在...

    单元测试实例(C#版)

    (C#语言版)单元测试实例,主要功能包括:(1)输入数据到textbox,以逗号间隔,然后求数组最大值、求和,并将结果显示出来,并针对于数组求最大值函数和求和函数写单元测试代码;(2)连接数据库,写出单元测试代码来测试求...

    灵魂拷问:到底要不要写单元测试,如何正确进行单元测试?.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料 计算机技术、IT咨询、人工智能AI理论介绍,...

    mockito单元测试使用

    我回答当然会呀,自己写的代码怎么不测呢。现在想想我好像误会他的意思了,他应该是想问我关于单元测试,集成测试以及背后相关的知识,然而当时说到测试,我也只知道 Junit。那么今天就说说开发过程中涉及到的测试...

    如何使用VSTS写单元测试

    如何使用VSTS写单元测试如何使用VSTS写单元测试如何使用VSTS写单元测试如何使用VSTS写单元测试如何使用VSTS写单元测试如何使用VSTS写单元测试

    单元测试的代码覆盖率至少80%

    一大早,一个年轻的程序员问大师:“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”大师回答道:“不要考虑代码覆盖率,只要写出一些好的测试用例即可。”  一大早,一个年轻的程序员问大师:  “我准备...

    单元测试报告实例,帮助写好单元测试报告

    单元测试报告实例,帮助写好单元测试报告,配合用vs2005进行检查

    单元测试实例代码

    (C#语言版)单元测试实例,主要功能包括:(1)输入数据到textbox,以逗号间隔,然后求数组最大值、求和,并将结果显示出来,并针对于数组求最大值函数和求和函数写单元测试代码;(2)连接数据库,写出单元测试代码来测试求...

    单元测试说明模板

    本文档为XX项目的单元测试活动提供测试设计规格及测试用例规格。文档内容包括了需要测试的类、测试使用的模型、针对每个类的测试策略以及所需执行的测试用例等。

    Servlet Filter 的单元测试

    Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试Servlet Filter 的单元测试

    Struts2SpringUnitDemo单元测试

    Struts2 Spring 框架整合 单元测试 Action和Service http://blog.csdn.net/fansunion/

    SpringBoot 多模块 Serivce 层单元测试

    IDEA Spring 多模块 Service 层单元测试, 此代码只演示Service层单元测试。。。。。。。。。。。。。。

    数据库操作的单元测试

    2. 数据库单元测试测试流程介绍 1 2.1. 数据库单元测试的原因 1 2.2. 测试关注点 1 2.3. 测试流程 1 3. 数据库单元测试最佳实践 2 3.1. 数据库单元测试最佳实践 2 3.1.1. 从“易测试的”应用程序体系结构开始。 2 ...

    Android单元测试初探——Instrumentation

    这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧!首先,我们来了解一下android的测试类的层次结构:可以看出android中的测试方法主要有AndroidTextCase和...

    对ASP.NET MVC项目中的视图做单元测试.txt

     说到ASP.NET MVC,我们似乎始终都在关注对于Controller的测试——虽然Stephen Walther也写过如何脱离Web Server对View进行单元测试,但是他的方法可看而不可用。复杂的构造和预备,以及对生成的HTML字符串作判断...

    c#单元测试例子

    简单例子实现单元测试,教你如何写单元测试,测试私有方法

    单元测试培训文档.pptx

    文档表达的核心意思:1、我们之前为什么不写单元测试;2、我们现在为什么要写单元测试;3、如何写好单元测试;以及Junit、Mockito、Hamcrest、Dbunit、jacoco等常用测试工具的使用

    java程序员如何编写更好的单元测试?

    在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或90%。于是乎,测试人员费尽心思设 在做单元测试时,代码覆盖率常常被拿...

    软件测试技术JUnit和单元测试入门简介

    JUNIT软件测试软件测试技术JUnit和单元测试入门简介软件测试1、几个相关的概念白盒测试——把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的。回归测试——软件或环境的修复或更正后...

Global site tag (gtag.js) - Google Analytics