我写这与类似的方法实现了暴露接口的类(JUnit的)单元测试:单元测试综合服务方法
public Set<Setting> getUserSettings();
public Set<Setting> getOrganizationSettings();
public Set<Setting> getDefaults();
public Set<Setting> getAllSettings();
从特定层获得设置的方法做IO从不同的地方检索他们的结果。 getAllSettings()返回所有级别的所有设置的单个集合,其中“最高”级别具有首选项(即,如果设置存在于默认级别和用户级别中,则将使用用户级别的设置。
我已经写了单元测试getUserSettings(),getOrganizationSettings()的getDefaults(),嘲讽了与嘲笑对象的IO操作。
实现了getAllSettings()看起来像
public Set<Setting> getAllSettings(){
Set<Setting> defaults = getUserSettings();
Set<Setting> custom = getOrganizationSettings();
Set<Setting> undefined = getDefaults();
//perform some sorting and business logic
//return fully sorted set
}
我的问题在于如何单元测试getAllSettings()方法。我使用mocks(使用easymock/powerm ock)用户/组织/ defaultSettings方法使用的所有下游资源调用?似乎有一个更清洁/更好/更简单的方法来做到这一点。
我什至没有想到使用它。这正是我所期待的。 – BuffaloBuffalo 2011-03-24 17:28:04