java spring测试_java – Spring bean测试

使用像EasyMock或Mockito这样的Mock框架并注入B和C的模拟版本.

如果没有Spring,你应该完全这样做,只需以编程方式注入Mocks.

例:

// Three Interfaces:

public interface FooService{

String foo(String input);

}

public interface BarService{

String bar(String input);

}

public interface BazService{

String baz(String input);

}

// Implementation for FooService that uses the other two interfaces

public class FooServiceImpl implements FooService{

public void setBarService(BarService barService){

this.barService = barService;

}

private BarService barService;

public void setBazService(BazService bazService){

this.bazService = bazService;

}

private BazService bazService;

@Override

public String foo(String input){

return barService.bar(input)+bazService.baz(input);

}

}

// And now here's a test for the service implementation with injected mocks

// that do what we tell them to

public class FooServiceImplTest{

@Test

public void testFoo(){

final FooServiceImpl fsi = new FooServiceImpl();

final BarService barService = EasyMock.createMock(BarService.class);

EasyMock.expect(barService.bar("foo")).andReturn("bar");

fsi.setBarService(barService);

final BazService bazService = EasyMock.createMock(BazService.class);

EasyMock.expect(bazService.baz("foo")).andReturn("baz");

fsi.setBazService(bazService);

EasyMock.replay(barService, bazService);

assertEquals(fsi.foo("foo"), "barbaz");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值