用eclipse编写单元测试的时候,可以直接选中某个类,然后右键new新疆一个junit case,界面如下图1所示:

图1:新建test case

选 择图1中的JUnit Test Case,然后点击Next,在接下来的界面中,注意Source folder不要放在源文件的目录,最佳实践应该是一个test目录,并且包名与源文件同名,然后点击Next,下一个界面就是选择Test Methods,选择要测试的方法名,然后Finish,就会自动生成一些测试代码,然后就可以自己修改了。

图2:运行单元测试代码

编写完单元测试代码以后,就可以运行了,运行方法如上图2所示。

在编写单元测试代码的时候,要注意如下几个方法(非常重要,以下都是以JUnit4为例):

(1)测试方法上必须使用@Test进行修饰;

(2)测试方法必须使用public void进行修饰,并且不能带有任何的参数;

(3) 新建一个源代码目录来存放我们的测试代码,如果是maven项目的话,会生成3个目录,一个是源代码目录(src/main/java),一个是单元测试 目录(src/test/java),一个是资源目录(src/main/resources),使用maven的时候,我们把单元测试代码放在测试目录 中;

(4)测试类的包应该和被测试类的包名保持一致;

(5)测试单元中的每个方法必须可以独立测试,测试方法间不可以有任何的依赖;

(6)测试类使用Test作为类名的后缀(不是一定要这样做,这是最佳实践);

(7)测试方法使用test作为方法名的前缀(不是一定要这样做,这是最佳实践);

上面的这些注意点,如果使用eclipse自动生成的JUnit测试代码,就会发现非常符合,因为这都是最佳实践,一般都是建议这样去写,忘记写的时候,可以生成一些代码来参考下。

单元测试的目的只为了证明写的代码没有问题,即代码是对的,那么测试出现failure的原因有哪些呢,一般有如下两种情况:

(1)程序没有错,能够正常有返回结果,但是返回的结果与我们预期的不一样,即断言方法判断失败。

(2)程序本身就有错,代码运行中就报错了,比如出现除数异常、类型错误等等。

JUnit编写单元测试代码注意点小结的更多相关文章

  1. EclipseADT编写单元测试代码的步骤

    1. 写一个类 extends AndroidTestCase 2. 写一个测试方法    a.必须是public     b.必须抛出异常给操作系统 public void textAdd()thr ...

  2. python的单元测试代码编写流程

    单元测试: 单元测试是对单独的代码块分别进行测试, 以确保它们的正确性, 单元测试主要还是由开发人员来做, 其余的集成测试和系统测试由专业的测试人员来做. python的单元测试代码编写主要记住以下几 ...

  3. 编写高质量代码改善C#程序的157个建议——建议155:随生产代码一起提交单元测试代码

    建议155:随生产代码一起提交单元测试代码 首先提出一个问题:我们害怕修改代码吗?是否曾经无数次面对乱糟糟的代码,下决心进行重构,然后在一个月后的某个周一,却收到来自测试版的报告:新的版本,没有之前的 ...

  4. 使用Junit进行单元测试

    使用Junit进行单元测试 一.目的和要求 JUnit是一款由Erich Gamma(<设计模式>的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人 ...

  5. java如何使用JUnit进行单元测试

    注:所有内容都是在eclipse上实现,关于eclipse的安装和jdk的安装配置,请看:http://www.cnblogs.com/fench/p/5914827.html 单元测试是什么? 百度 ...

  6. JUnit 4 单元测试

    Individual Project ——JUnit 4 单元测试 学习到JUnit单元测试,我拿来测试之前写过的一个计算器(两个依存类:Calc.java CalcFunction.java).代码 ...

  7. Android之如何使用JUnit进行单元测试

    转的:http://www.blogjava.net/qileilove/archive/2014/05/19/413824.html Android中如何使用JUnit进行单元测试 在我们日常开发a ...

  8. Spring(3)—— Junit框架单元测试

    Junit主要用于单元测试,即白盒测试.它是一个开源的由JAVA开发的一个用于测试的框架. Junit的几个基本概念:TestCase,TestSuite,TestFixtrue TestCase:代 ...

  9. Intellij Idea系列之导Jar包与编写单元测试(二)

     Intellij Idea系列之导Jar包与编写单元测试(二) 一.初衷 对于很多的初学者来说,Intellij如何导入jar包感到很迷惑,甚至在网上搜过相关文章之后还是云里雾里,本博客通过图文并茂 ...

随机推荐

  1. MFC 实现打印机打印功能

    Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这 ...

  2. android hook 框架 libinject 如何实现so注入

    前面两篇 android hook 框架 libinject2 简介.编译.运行 android hook 框架 libinject2 如何实现so注入 实际运行并分析了 Android中的so注入( ...

  3. Linux虚拟地址空间布局以及进程栈和线程栈总结

    原文链接:http://blog.csdn.net/freeelinux/article/details/53782986[侵删] 本文转自多个博客,以及最后有我的总结.我没有单独从头到尾写一个总结的 ...

  4. 通过字典传递django orm的filter功能

    class AppRightManageListView(ListView): template_name = 'rightmanage/list_apprightmanage.html' # mod ...

  5. delphi 开机自动运行代码

    unit Unit1;//download by http://www.codefans.netinterface uses  Windows,Registry, Messages, SysUtils ...

  6. Ext中点击某个东西弹出框展示

    renderer:function(v){ return '<a href="123" data-qtitle="OK Button" data-qwid ...

  7. C# api基础1

    1.创建一个简单的api 目录结构 再创建一个controller用来测试 public class DefaultController : ApiController { public string ...

  8. (23)C#XML操作

    APP.config是一个典型的XML文件 打开vs2008在项目上右键-添加-新建项 选择应用程序配置文件,默认名称为APP.config,新建打开后默认代码如下 <?xml version= ...

  9. 差分【p3948】 数据结构

    顾z 你没有发现两个字里的blog都不一样嘛 qwq 题目描述-->p3948 数据结构 分析 其实这题完全没有分析的 qwq. 只是因为写了差分数组相关知识,所以顺便写一下题解 qwq. 对于 ...

  10. android中的开机自启动

    android中的开机自启动 android中的开机自启动可分为两步: 1.写一个BroadcastReceiver: public class BootReceiver extends Broadc ...