Сервисный уровень модульного тестирования в Spring Boot - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть сервисный слой (код ниже:)

@Service
public class EquityFeedsService {

    @Autowired
    private EquityFeedsRedisRepositoryImpl equityFeedsRedisRepositoryImpl;

    public void save(EquityFeeds equityFeeds) {

        logger.info("Inside the save method of EquityFeedsService.");

        equityFeedsRedisRepositoryImpl.save(equityFeeds);
    }

   // other methods 
}

Теперь я пытаюсь написать пример модульного теста для вышеуказанного метода:

@ExtendWith(SpringExtension.class)
@AutoConfigureMockMvc
public class EquityFeedsServiceTest {

    private MockMvc mockMvc;

    @InjectMocks
    private EquityFeedsService equityFeedsService;

    @Mock
    private EquityFeedsRedisRepositoryImpl equityFeedsRedisRepositoryImpl;

    @BeforeEach
    public void setUp() {
        mockMvc = MockMvcBuilders.standaloneSetup(equityFeedsService).build();
    }

    @Test
    public void testSaveMethod() {
        EquityFeeds equityFeeds = new EquityFeeds(423,"SAPEXTXN1", "GS");

        when(equityFeedsRedisRepositoryImpl.save(any(EquityFeeds.class))).thenReturn(new EquityFeeds());


    }
}

Этот код дает мне следующее исключение: в строке (любой (EquityFeeds.class))

Required type:
EquityFeeds (This is my model class) 

Provided:
Matcher <com.investmentbank.equityfeedsprocessingupdated.model.EquityFeeds> (This is the fully qualified path name of the mode class) 
no instance(s) of type variable(s) T exist so that Matcher<T> conforms to EquityFeeds

и исключение:

Cannot resolve method 'thenReturn(com.investmentbank.equityfeedsprocessingupdated.model.EquityFeeds)'     

Что не так с моим модульным тестом? Как мне решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...