data = dataProviderMethod.invokeExplosively(null); if (dataProvider.cache()) { dataProviderDataCache.put(dataProviderMethod, data);
data = dataProviderMethod.invokeExplosively(null); if (dataProvider.cache()) { dataProviderDataCache.put(dataProviderMethod, data);
@Test public void testExplodeTestMethodsUseDataProviderShouldReturnMultipleDataProviderFrameworkMethodIfDataConverterReturnsMultipleRows() throws Throwable { // Given: List<Object[]> dataConverterResult = listOfArrays(new Object[] { 11, "22", 33L }, new Object[] { 44, "55", 66L }, new Object[] { 77, "88", 99L }); doReturn(dataConverterResult).when(dataConverter).convert(any(), any(Boolean.class), any(Class[].class), any(DataProvider.class)); doReturn(dataProvider).when(dataProviderMethod).getAnnotation(DataProvider.class); doReturn("%c").when(dataProvider).format(); doReturn(false).when(dataProvider).cache(); // When: List<FrameworkMethod> result = underTest.explodeTestMethod(testMethod, dataProviderMethod); // Then: assertThat(TestGenerator.dataProviderDataCache).isEmpty(); assertDataProviderFrameworkMethods(result, dataConverterResult, "%c"); verify(dataProviderMethod).invokeExplosively(null); }
@Test public void testExplodeTestMethodsUseDataProviderShouldReturnFrameworkMethodInjectedToUseDataProviderMethodIfExists() throws Throwable { // Given: final Method method = getMethod("dataProviderMethod"); doReturn(method).when(dataProviderMethod).getMethod(); List<Object[]> dataConverterResult = listOfArrays(new Object[] { null }); doReturn(dataConverterResult).when(dataConverter).convert(any(), anyBoolean(), any(Class[].class), any(DataProvider.class)); doReturn(dataProvider).when(dataProviderMethod).getAnnotation(DataProvider.class); doReturn(DataProvider.DEFAULT_FORMAT).when(dataProvider).format(); doReturn(true).when(dataProvider).cache(); // When: List<FrameworkMethod> result = underTest.explodeTestMethod(testMethod, dataProviderMethod); // Then: assertThat(TestGenerator.dataProviderDataCache).hasSize(1).containsKey(dataProviderMethod); assertThat(result).hasSize(1); verify(dataProviderMethod).invokeExplosively(null, testMethod); }