首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Easymock,从mock返回mock

Easymock,从mock返回mock
EN

Stack Overflow用户
提问于 2011-12-13 21:53:29
回答 1查看 1.2K关注 0票数 2

我有一个方法

代码语言:javascript
运行
复制
class Garage{
    public Noise myMethod(){
        Car mycar = getCarService().getCar("ford");
        Noise brum = mycar.drive();
        return brum;
    }

    ...
}

我想模拟服务和汽车,所以我创建了一个模拟,如下所示

代码语言:javascript
运行
复制
MyCarService carMock = createMock(Car.class)
MyCarService mockServce = createMock(MyCarService.class)

expect(mockService.getCarService().andReturn(carMock));
expect(carMock.drive().andReturn("brummmm"));
replayAll();

Garage garage = new Garage();
garage.setCarService(mockService);
Noise n = g.myMethod();

但是,当我运行代码时,mockservice总是将mycar作为null返回。你能用easyMock做这种事情吗?

EN

回答 1

Stack Overflow用户

发布于 2011-12-16 23:36:32

您不应该包括这一行:garage.setCarService(mockService);

您所需要做的就是期望调用mockService.getCarService(),您已经这样做了。

因此,当您通过调用g.myNewMethod运行测试时,当myNewMethod调用getCarService()方法时,它将返回您的mockService。

但是,您缺少对被调用的getCar方法的期望。您需要:

代码语言:javascript
运行
复制
expect(mockServce.getCar("ford")).andReturn(carMock);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8490340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档