JUnit与EasyMock合作

开发人员始终需要注意所产生的代码。 在实施新功能或修复某些错误之后,应确保它们能够正常工作。 至少可以借助单元测试来实现。 由于此博客致力于Java编程语言,因此今天我将撰写有关JUnit 4.1和EasyMock 3. 1框架的文章。 这些框架的主要目的是简化单元测试的编写。

介绍

为了演示JUnit和EasyMock功能,我需要准备一些代码,这些代码将在测试中介绍。 因此,一开始我将向您介绍一个简单的
我为本教程开发的应用程序。 Java开发人员应该非常熟悉它,因为它可以模拟咖啡机的工作。 现在,我将用几句话描述应用程序的功能。 咖啡机有两个容器:用于盛水和用于咖啡。 您可以根据份量(小,中,大)制作三种咖啡。

  • 积极的情况:您使一部分咖啡和容器中有足够的水和咖啡豆。
  • 负面的情况:您煮了一部分咖啡,容器中没有足够的水或咖啡豆。

如果没有足够的容器,您可以重新装满。 在简要描述了应用程序的功能之后,您可以轻松地想象它应该如何工作。 现在该提供类的代码示例了。

申请代码

现在尝试变得更加耐心和细心。 您将在下面看到很多类,我将在下一段中对其进行测试。 如上所述,咖啡机可以生产三种类型的咖啡,具体取决于要获取的份量。 应用程序中的部分将表示为枚举。

public enum Portion {
	SMALL(1), MEDIUM(2), LARGE(3);

	private int size;

	private Portion(int size) {
		this.size = size;
	}

	public int size() {
		return size;
	}
}

我们的咖啡机有两个容器,这意味着我们需要为它们构建逻辑体系结构。 让我们坚持基于接口的智能编码方法。

public interface IContainer {

	public boolean getPortion(Portion portion) throws NotEnoughException;
	public int getCurrentVolume();
	public int getTotalVolume();
	public void refillContainer();

}

为了避免代码重复,我需要为容器开发一个抽象类。 在这种编程方法的上下文中,我想考虑一下我的一篇有关Abstract类VS接口的文章

public abstract class AbstractContainer implements IContainer {

	private int containerTotalVolume;
	private int currentVolume;

	public AbstractContainer(int volume) {
		if (volume < 1)
			throw new IllegalArgumentException('Container's value must be greater then 0.');
		containerTotalVolume = volume;
		currentVolume = volume;
	}

	@Override
	public boolean getPortion(Portion portion) throws NotEnoughException {
		int delta = currentVolume - portion.size();
		if (delta > -1) {
			currentVolume -= portion.size();
			return true;
		} else
			throw new NotEnoughException('Refill the '
					+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值