Как макетировать (внедрить) или создать объект набора данных (GCP BigQuery) с помощью JUint? - PullRequest
0 голосов
/ 13 января 2020

Я работаю с GCP google-cloud-library-1.96.0.jar и хочу протестировать некоторые методы, существующие в классе Dataset. Но у меня проблема с созданием объекта, списка наборов данных и т. Д. c. Набор данных использует конструктор и конструктор и может напрямую создавать только объект DatasetInfo. Я не хочу использовать PowerMock. Если существует какой-либо альтернативный способ создания и использования объекта набора данных или списка наборов данных. Я буду благодарен за любую помощь.


import static org.mockito.Mockito.when;

import com.google.api.gax.paging.Page;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.Dataset;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class ListDatasetsServiceImplTest {

  @Mock
  private BigQueryServiceImpl bigQueryService;

  @Mock
  private BigQuery bigQuery;

  @Mock
  private Page<Dataset> datasets;

  @Mock
  private Dataset dataset;

  @Rule
  public ExpectedException exceptionRule = ExpectedException.none();

  private static final String NAME = "name";

  @Test
  public void getDatasetNames() {
    //WHEN
    when(bigQuery.listDatasets()).thenReturn(datasets);

  }

}```
...