Google App Engineの単体テスト用にすでに一貫性のあるデータを設定するにはどうすればよいですか?

kg。

AppEngineのデータストアクエリは結果整合性があるだけです。ただし、一部のテストでは、すでに一貫性のあるデータをデータストアにシードしたいと思います(つまり、テストが発生する前に長い間保存され、現在はグローバルに一貫性があります)。

テストを実行する前に、初期データに一貫性があることを確認するにはどうすればよいですか?テスト中のアクションが即時の一貫性を必要としないことを引き続き要求できるようにしたいと思います。

私はJava用のGoogleCloud Endpointsを使用していますが、ここではエンドポイントに固有のものではありません。

kg。

最終的に、次のBaseTestクラスを作成し、すべてのテストにそれを継承させました。

package com.example;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.dev.HighRepJobPolicy;
import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig;
import com.google.appengine.tools.development.testing.LocalServiceTestHelper;

import org.junit.After;
import org.junit.Before;
import org.junit.Rule;

public class BaseTest {
  public static final class Policy implements HighRepJobPolicy {
    static boolean shouldApply = false;

    public static void applyAll() {
      shouldApply = true;
    }

    public static void applyNone() {
      shouldApply = false;
    }

    @Override
    public boolean shouldApplyNewJob(Key entityGroup) {
      return shouldApply;
    }

    @Override
    public boolean shouldRollForwardExistingJob(Key entityGroup) {
      return shouldApply;
    }
  }

  public final LocalServiceTestHelper helper =
      new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig()
          .setAlternateHighRepJobPolicyClass(Policy.class));

  @Before
  public void setUp() {
    helper.setUp();
  }

  @After
  public void tearDown() {
    helper.tearDown();
  }
}

その場合、テストは次の形式になります。

@Test
public void thingShouldDoX() throws Exception {
  Policy.applyAll();
  // Do setup here, everything inside will be consistent.
  Policy.applyNone();
  // Run code under test here, without consistency.
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Google App Engineデータストアに保存されている設定エントリを更新するにはどうすればよいですか?

分類Dev

Google App Engine Go HTTPハンドラーを単体テストするにはどうすればよいですか?

分類Dev

Google App Engineデータストアのレイテンシを削減するにはどうすればよいですか?

分類Dev

Google App Engineで「login:admin」に設定されているURLにリクエストを送信するにはどうすればよいですか?

分類Dev

Google App Engine Javaのログをカスタマイズするにはどうすればよいですか?

分類Dev

Google App Engine Javaのログをカスタマイズするにはどうすればよいですか?

分類Dev

JDO / Google App EngineでTransactionOptionsを設定するにはどうすればよいですか?

分類Dev

Google App Engineデータストアで動的プロパティを使用するにはどうすればよいですか

分類Dev

Google App EngineでSeleniumテストを実行するにはどうすればよいですか?

分類Dev

Google App EngineにPhpRedisをインストール/使用するにはどうすればよいですか?

分類Dev

Google App EngineでタスクキューAPIを使用するにはどうすればよいですか?

分類Dev

サーバーの秘密鍵をGoogle App Engineに保存するにはどうすればよいですか?

分類Dev

Google App Engine-Python-タスクキュー-タスクのリストを追加するにはどうすればよいですか?

分類Dev

Google App Engineサーブレットをデバッグするにはどうすればよいですか?

分類Dev

Google App Engineで、urlsafeによって作成されたキーの入力の有効性を確認するにはどうすればよいですか?

分類Dev

Google App Engineでホストされているウェブサイトのクローンを作成するにはどうすればよいですか?

分類Dev

Google App Engineの既存のアプリに新しいサービスをデプロイするにはどうすればよいですか?

分類Dev

Google App Engine の nodejs で現在実行中のインスタンスのバージョンを取得するにはどうすればよいですか?

分類Dev

Google App Engine(java)の場合、FetchOptionsでチャンクサイズを設定して使用するにはどうすればよいですか?

分類Dev

Goのアップデートでこれを実行するにはどうすればよいですか?(Google App Engine)

分類Dev

発信者がGoogleApp Engineである場合にのみ、DjangoでGoogle App Engine cronjobを実行するにはどうすればよいですか?

分類Dev

GoのGoogle App Engineでは、プロパティに複数のタイプの値を含めるにはどうすればよいですか?

分類Dev

Google Cloud SDKのapp-engine-pythonをComputeEngine(Ubuntu 16.04)にインストールするにはどうすればよいですか?

分類Dev

Google App EngineのURLからアプリIDを削除するにはどうすればよいですか?

分類Dev

Java Google App Engineのデプロイをスピードアップするにはどうすればよいですか?

分類Dev

Google App Engine Objectifyで特定のエンティティに近いエンティティを取得するにはどうすればよいですか?

分類Dev

Google App Scriptを使用してGoogleスプレッドシートの複数のタブをマージするにはどうすればよいですか?

分類Dev

Rot13の例:Google App Engineでこのピースコードを実行するにはどうすればよいですか?

分類Dev

Google App EngineでサードパーティのPythonライブラリを管理するにはどうすればよいですか?(virtualenv?pip?)

Related 関連記事

  1. 1

    Google App Engineデータストアに保存されている設定エントリを更新するにはどうすればよいですか?

  2. 2

    Google App Engine Go HTTPハンドラーを単体テストするにはどうすればよいですか?

  3. 3

    Google App Engineデータストアのレイテンシを削減するにはどうすればよいですか?

  4. 4

    Google App Engineで「login:admin」に設定されているURLにリクエストを送信するにはどうすればよいですか?

  5. 5

    Google App Engine Javaのログをカスタマイズするにはどうすればよいですか?

  6. 6

    Google App Engine Javaのログをカスタマイズするにはどうすればよいですか?

  7. 7

    JDO / Google App EngineでTransactionOptionsを設定するにはどうすればよいですか?

  8. 8

    Google App Engineデータストアで動的プロパティを使用するにはどうすればよいですか

  9. 9

    Google App EngineでSeleniumテストを実行するにはどうすればよいですか?

  10. 10

    Google App EngineにPhpRedisをインストール/使用するにはどうすればよいですか?

  11. 11

    Google App EngineでタスクキューAPIを使用するにはどうすればよいですか?

  12. 12

    サーバーの秘密鍵をGoogle App Engineに保存するにはどうすればよいですか?

  13. 13

    Google App Engine-Python-タスクキュー-タスクのリストを追加するにはどうすればよいですか?

  14. 14

    Google App Engineサーブレットをデバッグするにはどうすればよいですか?

  15. 15

    Google App Engineで、urlsafeによって作成されたキーの入力の有効性を確認するにはどうすればよいですか?

  16. 16

    Google App Engineでホストされているウェブサイトのクローンを作成するにはどうすればよいですか?

  17. 17

    Google App Engineの既存のアプリに新しいサービスをデプロイするにはどうすればよいですか?

  18. 18

    Google App Engine の nodejs で現在実行中のインスタンスのバージョンを取得するにはどうすればよいですか?

  19. 19

    Google App Engine(java)の場合、FetchOptionsでチャンクサイズを設定して使用するにはどうすればよいですか?

  20. 20

    Goのアップデートでこれを実行するにはどうすればよいですか?(Google App Engine)

  21. 21

    発信者がGoogleApp Engineである場合にのみ、DjangoでGoogle App Engine cronjobを実行するにはどうすればよいですか?

  22. 22

    GoのGoogle App Engineでは、プロパティに複数のタイプの値を含めるにはどうすればよいですか?

  23. 23

    Google Cloud SDKのapp-engine-pythonをComputeEngine(Ubuntu 16.04)にインストールするにはどうすればよいですか?

  24. 24

    Google App EngineのURLからアプリIDを削除するにはどうすればよいですか?

  25. 25

    Java Google App Engineのデプロイをスピードアップするにはどうすればよいですか?

  26. 26

    Google App Engine Objectifyで特定のエンティティに近いエンティティを取得するにはどうすればよいですか?

  27. 27

    Google App Scriptを使用してGoogleスプレッドシートの複数のタブをマージするにはどうすればよいですか?

  28. 28

    Rot13の例:Google App Engineでこのピースコードを実行するにはどうすればよいですか?

  29. 29

    Google App EngineでサードパーティのPythonライブラリを管理するにはどうすればよいですか?(virtualenv?pip?)

ホットタグ

アーカイブ