Ниже приведен код, который я пытаюсь проверить вместе с кодом модульного тестирования. Когда я запускаю тест, он выдает ошибку PotentialStubbingProblem
Код:
jdbcTemplate.query(sql, paramMap, (rs, rowNum) -> rowMapper(rs))
Модульный тест:
@ExtendWith(MockitoExtension.class)
@RunWith(JUnitPlatform.class)
public class PackageGetRepositoryTests {
@InjectMocks
PackageGetRepository packageGetRepository;
@Mock
NamedParameterJdbcTemplate jdbcTemplate;
@BeforeEach
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void testGetPackages() {
when(jdbcTemplate.query(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap(), ArgumentMatchers.<ResultSetExtractor<List<PackageDetail>>> any())).thenAnswer(invocation -> {
...
});
}
}
Это ошибка, которую я вижу при запускетест
Strict stubbing argument mismatch. Please check:
- this invocation of 'query' method:
jdbcTemplate.query(
null,
{"name" = "Y", "defaultInd" = "CODE1123123"},
com.xyz.packages.v1.repository.PackagesGetRepository$$Lambda$203/1341995663@2fc4c860
);
-> at com.xyz.packages.v1.repository.PackagesGetRepository.getPackagesList(PackagesGetRepository.java:41)
- has following stubbing(s) with different arguments:
1. jdbcTemplate.query("", {}, null);
-> at com.xyz.packages.v1.repository.PackagesGetRepositoryTests.testGetPackages(PackagesGetRepositoryTests.java:57)