在测试任何使用您的实现的类时configuration related interfaces
,您应该使用mock
这些配置接口的实现。
将subject under test (SUT)
调用您的配置类的方法来完成它的工作。因此,对于给定的输入,您只需要在从您正在测试的方法中调用配置类的方法之前,对调用的行为进行存根:
public class ServiceTest {
IConfiguration mockConfig;
private ServiceUnderTest serviceUnderTest;
@Before
public void setup() {
serviceUnderTest = new ServiceUnderTest();
mockConfig = mock(IConfiguration.class);
serviceUnderTest.setConfig(mockConfig);
}
@Test
public void test(){
//Here you can stub the behavior of method calls on "IConfiguration" before they're called
}
}
当您正在测试ServiceUnderTest
单元时,您不需要真正实现配置类。您只需要对这些配置类的方法调用行为进行存根。