在本文中,我将向您展示EasyMock是什么,以及如何使用它来测试Java应用程序。 为此,我将创建一个
简单的Portfolio应用程序,并使用
JUnit&EasyMock库对其进行测试。
在开始之前,让我们首先了解使用EasyMock的需求。 可以说,您正在构建一个Android移动应用程序来维护用户的股票投资组合。 您的应用程序将使用股票市场服务从真实服务器(例如NASDAQ)检索股票价格。
在测试代码时,您不想在真正的股票市场服务器上获取股票价格。 相反,您需要一些虚拟价格值。 因此,您需要模拟不返回真实服务器值即可返回虚拟值的股市服务。
EasyMock确实在做同样的事情–帮助您模拟界面。 您可以预定义模拟对象的行为,然后在代码中使用该模拟对象进行测试。 因为,您只关心测试 你的逻辑 和 而不是外部服务或对象。 因此,模拟外部服务很有意义。
为了清楚起见,请看下面的代码摘录(我们将在一段时间内看到完整的代码):
StockMarket marketMock = EasyMock.createMock(StockMarket.class);
EasyMock.expect(marketMock.getPrice('EBAY')).andReturn(42.00);
EasyMock.replay(marketMock);
在第一行中,我们要求EasyMock为我们的StockMarket接口创建一个模拟对象。 然后在第二行中,定义该模拟对象的行为–即,当使用参数“ EBAY”调用getPrice()方法时,该模拟对象应返回42.00 。 然后,我们调用replay()方法,以使模拟对象可以使用。
因此,这几乎为EasyMock及其用法设置了上下文。 让我们深入研究Portfolio应用程序。 您可以