趣百科

Jmock单元测试简单使用教程

编辑:Simone 2024-11-12 22:50:56 525 阅读

Jmock单元测试简单使用教程

我们常常使用Mock进行单元测试,在测试的过程中通常测试代码需要与一些真实的对象进行交互,由于真实的项目中通常是协作开发,并且开发进度的进度大有不同,那么怎么能保证在我想进行单元测试的时候已经有真实的依赖对象生成了呢?因此我们可以使用一个轻量级的、可控的Mock 对象来取代真实对象,而Jmock便是这样的工具,它的基本功能是根据抽象虚拟一个对象进行测试,这便是我们常说的测试驱动开发(TDD)。

我们在使用Jmock进行单元测试的时候需要引入jar包,目前比较主流的方式是使用Maven对项目依赖的jar包进行管理,我们在项目的pom.xml文件中,可以看到添加了如下图所示的依赖。

接下来我们用日常生活中常见的事物作为案例来介绍单元测试,我们都知道市面上的车有不同的车型,如大车子和小车子,当然还有其他的分类,我们此处只是举例。而一般的司机不会只能开一种类型的车子,因此我们需要创建一个ICar接口,使得所有类型的车子都可以实现该接口,例如下图的两个具体的实现类。

当然我们也知道司机也分很多种,如出租车司机,卡车司机等。然后我们再创建一个IDriver的接口,所有的司机类都可以实现该接口,例如我们可以创建一个Driver类用于实现IDriver接口,并覆写driver()方法。

写到这一步可能有些朋友会觉得,这些跟Jmock单元测试有什么关系呢?假如上述步骤都已经成功的完成,那么我们可以直接写方法来运行程序,但是如果仅仅是Driver类的功能实现了,而BigCar和SmallCar并没有写,只有一个Icar接口,那我们怎么来测试Driver类的功能呢?因为接口和抽象类是不能被实例化的,我们不能用ICar来创建一个对象。因此我们使用Jmock来虚拟出一个对象,代码如下图所示。新增一个junit的Testcase类(使用继承的方式),在使用Jmock之前,我们需要import一些Jmock的类以及创建一个"Mockery”对象。

运行单元测试代码,在当前类中鼠标点击右键-->Run As-->Junit Test,便可进行测试。如果Jmock的调用与期望的不符,该case会失败的结果,若相符则会成功。如下图所示,测试通过则是绿色,如果报错则是红色。如果不清楚单元测试的朋友可以参考下文。

1Junit构建单元测试简介

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/59124.html

相关推荐