【发布时间】:2017-11-16 09:01:21
【问题描述】:
我有一个记录器服务,它具有 ScopeStorage 和 LoggerServiceDAO 依赖项,在我的单元测试中,我需要覆盖这些以使用我创建的模拟对象。我正在使用 Wirebox AOP 来触发日志事件,所以我不能只创建一个模拟对象并将其传递给 CustomerContact 对象的构造函数
这是我正在创建的模拟:
scopeStorageMock = mockBox.createMock('system.ScopeStorage').$('get', 111);
loggerServiceDAOMock = mockBox.createMock('system.services.daos.loggerServiceDAO').$('insertLog');
在我的 Wirebox 活页夹中,我有以下映射:
map('CustomerContact').to('models.Customer.CustomerContactBean');
map('LoggerServiceDAO').to('system.Services.DAOs.LoggerServiceDAO');
map('ScopeStorage').to('system.ScopeStorage');
map('CustomerContactLogger').to('models.customer.loggers.CustomerContactLogger');
mapAspect("CustomerAspect").to('models.CustomerAspect');
bindAspect(classes=match().mappings("CustomerContact"), methods=match().methods(['create','delete', 'update']), aspects="CustomerContactLogger");
在我的单元测试中有没有办法告诉 Wirebox,当它获得 CustomerAspect 对象的实例时,可以使用我用 Mockbox 创建的两个模拟对象?
【问题讨论】:
标签: unit-testing coldfusion coldbox wirebox testbox