9

私のシナリオを検討してください

public class SomeClass {
  @Autowired @Qualifier("converter1") private IConverter converter1;
  @Autowired @Qualifier("converter2") private IConverter converter2;

  public void doSomeAction(String mimeType) {
    converter1.execute();
    converter2.execute();
  }
}

これは私のコードです。

これをテストするには

@RunWith(MockitoJUnitRunner.class)
public class SomeClassTest {
  @Mock(name="converter1") IConverter converter1;
  @Mock(name="converter2") IConverter converter2;
  @InjectMocks SomeClass class = new SomeClass();
  @Test
  public void testGetListOfExcelConverters() throws Exception {
    class.doSomeAction("abcd");
  }
}

ここでは、モックが注入されていません。修飾された Bean をモックするための適切なメカニズムを手伝ってください。

これがスプリングを使用した正しいコーディング方法でない場合は、これを使用するための正しい方法を教えてください。

4

5 に答える 5

4

テスト構成を使用して Bean をモックできます。

@Configuration
public class TestConfig {
   @Bean
   public MyService myService() {
      return Mockito.mock( MyService.class );
   }
}
于 2016-06-07T08:55:23.880 に答える