2016-05-31 4 views

ответ

5

На данный момент не существует официального эмулятора, предоставляемого Google.

В настоящее время я использую проект Minio (https://www.minio.io/) для издевательского поведения Google Storage в разработке (Minio использует файловую систему в качестве хранилища и обеспечивает совместимость с S3 apiV2, совместимым с Google Storage).

7

Google имеет in-memory emulator, который вы можете использовать (большинство основных функций реализовано).

Вам необходимо com.google.cloud:google-cloud-nio на вашем тестовом пути (:0.25.0-alpha). Затем вы можете использовать/вставить интерфейс Storage, реализованный в тестовой службе в памяти LocalStorageHelper.

Пример использования:

import com.google.cloud.storage.Storage; 
    import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper; 

    @Test 
    public void exampleInMemoryGoogleStorageTest() { 
    Storage storage = LocalStorageHelper.getOptions().getService(); 

    final String blobPath = "test/path/foo.txt"; 
    final String testBucketName = "test-bucket"; 
    BlobInfo blobInfo = BlobInfo.newBuilder(
     BlobId.of(testBucketName, blobPath) 
    ).build(); 

    storage.create(blobInfo, "randomContent".getBytes(StandardCharsets.UTF_8)); 
    Iterable<Blob> allBlobsIter = storage.list(testBucketName).getValues(); 
    // expect to find the blob we saved when iterating over bucket blobs 
    assertTrue(
     StreamSupport.stream(allBlobsIter.spliterator(), false) 
      .map(BlobInfo::getName) 
      .anyMatch(blobPath::equals) 
    ); 
    } 
Смежные вопросы