2016-05-31 14 views

答えて

5

Googleが当面提供する公式エミュレータはありません。

私は現在、開発中のGoogle Storageの動作を嘲笑するプロジェクトMinio(https://www.minio.io/)を使用しています(Minioはファイルシステムをストレージバックエンドとして使用し、Google Storageと互換性のあるS3 apiV2との互換性を提供します)。

7

Googleにはin-memory emulatorがあります(ほとんどのコア機能が実装されています)。

テストクラスパス(現在:0.25.0-alpha)にcom.google.cloud:google-cloud-nioが必要です。次に、メモリ内のLocalStorageHelperテストヘルパーサービスによって実装されたStorageインターフェイスを使用/注入できます。

使用例:

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) 
    ); 
    } 
関連する問題