Ошибка PotentialStubbingProblem при использовании макета jbdcTemplate в mockito - PullRequest
0 голосов
/ 30 сентября 2019

Ниже приведен код, который я пытаюсь проверить вместе с кодом модульного тестирования. Когда я запускаю тест, он выдает ошибку 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)
...