機能メソッド間で再評価されないグローバル変数をどのように設定しますか

switch201

次のようなサンプルスクリプトがあります。

@Stepwise
class RandomTest extends GebReportingSpec {


    @Shared
    Random random = new Random()
    def tag = random.nextInt(999)+1

    def setupSpec() {
        new File('/ProgramData/geb.properties').withInputStream {
            properties.load(it)
        }
    }

    def "Random Test"(){
        when:
        println("Random1: ${tag}")
        println("Random2: ${tag}")
        then:
        Thread.sleep(1000)
    }

    def "Random test2"(){
        when:
        println("Random3: ${tag}")
        then:
        Thread.sleep(1000)
    }
}

この例では、Random1とRandom 2は同じ番号を印刷しますが、Random3は異なる番号を印刷します。

たとえば、これはコードを実行したときの出力です。

Random1: 528
Random2: 528
Random3: 285

これは、共有変数が機能メソッド間で再評価されるためだと思います。これらの変数宣言を@Sharedアノテーションの外に移動しようとしましたが、役に立ちませんでした。

仕様の最初にランダムタグ変数が生成され、その値を保持するようにしたいのですが、これを行うためにグローバル変数をどのように設定するかがわかりません。setupSpec内の変数をインスタンス化する必要がありますか?

マイケル

@Shared変数はテスト間で再評価されません観察の理由は、not@Shared変数を出力するためですtagrandom.nextInt(999)+1各テストメソッドの前に評価されます。

を付け@Sharedtagも値は変わりません。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

ハードコーディングからの印刷は機能しますが、Pythonで定義されたメソッドからのこれらの変数入力からの値を印刷するにはどうすればよいですか?

分類Dev

更新されたグローバルクラス変数をあるメソッドから別のメソッドにどのように渡しますか?

分類Dev

グローバルではなくメソッドのみにTCPSocket属性を設定するにはどうすればよいですか?

分類Dev

Veturテンプレート補間:JsDocでテンプレートのグローバル仮想メソッドを設定するにはどうすればよいですか?タイプスクリプトなし

分類Dev

メソッドでローカル静的変数はどのように機能しますか?

分類Dev

変数を複数のメソッドで機能させるにはどうすればよいですか?

分類Dev

Scalaでメソッドはどのように評価されますか?

分類Dev

TFSビルド変数が設定されていない場合、どのようにデフォルト値にフォールバックしますか?

分類Dev

Boost Logのささいなロガーの「遅延評価」はどのように機能しますか?

分類Dev

非同期メソッドを待たずにすぐにIsCompletedを評価する場合、どのようなシナリオがカバーされますか?

分類Dev

グローバル(Python)として設定した後でも変数が定義されていない+このような場合にどのようにアプローチしますか?

分類Dev

ブール式で定義された変数をメインプログラムで機能させるにはどうすればよいですか?

分類Dev

グローバル変数の設定を解除するにはどうすればよいですか?

分類Dev

Pythonのすべてのクラスメソッドにグローバル変数を使用するにはどうすればよいですか?

分類Dev

グローバル変数がパッケージ間で設定されないのはなぜですか?

分類Dev

クラスのメソッドからグローバル変数に出力を取得するにはどうすればよいですか?

分類Dev

jprofilerまたはその他:再帰的なメソッド呼び出しをロールアップするにはどうすればよいですか?

分類Dev

デベロッパーのAndroidドキュメントで指定されていないフラグはどのように機能しますか?

分類Dev

メインクラスの2つの変数を評価するメソッドを作成するにはどうすればよいですか?

分類Dev

メソッドC#でグローバルに設定された変数を使用する方法

分類Dev

オーバーロードされたジェネリックメソッドで型推論はどのように機能しますか

分類Dev

グーグルクラウドビルドとソースリポジトリを使用して新しくプッシュされた複数のクラウド機能をデプロイするにはどうすればよいですか?

分類Dev

グローバル変数を使用せずに関数内でPHPクラスメソッドを使用するにはどうすればよいですか?

分類Dev

メソッドにパラメーターとして渡されたFunc / Delegate / Expressionを評価するにはどうすればよいですか?

分類Dev

wwwrootの外部で提供されるソースファイルを適切にブレークポイントするようにChrome(またはEdge)拡張機能のデバッガーを設定するにはどうすればよいですか?

分類Dev

SQL Serverのトリガーに2つの動的な一時グローバル変数を設定するにはどうすればよいですか?

分類Dev

UDP NGINXリバースプロキシを設定するにはどうすればよいですか?また、どのように機能しますか?

分類Dev

メソッドに呼び出されるようにクラスの現在価値の値を設定するにはどうすればよいですか?

分類Dev

OpenCart 2.3.0.2でグローバル変数を設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    ハードコーディングからの印刷は機能しますが、Pythonで定義されたメソッドからのこれらの変数入力からの値を印刷するにはどうすればよいですか?

  2. 2

    更新されたグローバルクラス変数をあるメソッドから別のメソッドにどのように渡しますか?

  3. 3

    グローバルではなくメソッドのみにTCPSocket属性を設定するにはどうすればよいですか?

  4. 4

    Veturテンプレート補間:JsDocでテンプレートのグローバル仮想メソッドを設定するにはどうすればよいですか?タイプスクリプトなし

  5. 5

    メソッドでローカル静的変数はどのように機能しますか?

  6. 6

    変数を複数のメソッドで機能させるにはどうすればよいですか?

  7. 7

    Scalaでメソッドはどのように評価されますか?

  8. 8

    TFSビルド変数が設定されていない場合、どのようにデフォルト値にフォールバックしますか?

  9. 9

    Boost Logのささいなロガーの「遅延評価」はどのように機能しますか?

  10. 10

    非同期メソッドを待たずにすぐにIsCompletedを評価する場合、どのようなシナリオがカバーされますか?

  11. 11

    グローバル(Python)として設定した後でも変数が定義されていない+このような場合にどのようにアプローチしますか?

  12. 12

    ブール式で定義された変数をメインプログラムで機能させるにはどうすればよいですか?

  13. 13

    グローバル変数の設定を解除するにはどうすればよいですか?

  14. 14

    Pythonのすべてのクラスメソッドにグローバル変数を使用するにはどうすればよいですか?

  15. 15

    グローバル変数がパッケージ間で設定されないのはなぜですか?

  16. 16

    クラスのメソッドからグローバル変数に出力を取得するにはどうすればよいですか?

  17. 17

    jprofilerまたはその他:再帰的なメソッド呼び出しをロールアップするにはどうすればよいですか?

  18. 18

    デベロッパーのAndroidドキュメントで指定されていないフラグはどのように機能しますか?

  19. 19

    メインクラスの2つの変数を評価するメソッドを作成するにはどうすればよいですか?

  20. 20

    メソッドC#でグローバルに設定された変数を使用する方法

  21. 21

    オーバーロードされたジェネリックメソッドで型推論はどのように機能しますか

  22. 22

    グーグルクラウドビルドとソースリポジトリを使用して新しくプッシュされた複数のクラウド機能をデプロイするにはどうすればよいですか?

  23. 23

    グローバル変数を使用せずに関数内でPHPクラスメソッドを使用するにはどうすればよいですか?

  24. 24

    メソッドにパラメーターとして渡されたFunc / Delegate / Expressionを評価するにはどうすればよいですか?

  25. 25

    wwwrootの外部で提供されるソースファイルを適切にブレークポイントするようにChrome(またはEdge)拡張機能のデバッガーを設定するにはどうすればよいですか?

  26. 26

    SQL Serverのトリガーに2つの動的な一時グローバル変数を設定するにはどうすればよいですか?

  27. 27

    UDP NGINXリバースプロキシを設定するにはどうすればよいですか?また、どのように機能しますか?

  28. 28

    メソッドに呼び出されるようにクラスの現在価値の値を設定するにはどうすればよいですか?

  29. 29

    OpenCart 2.3.0.2でグローバル変数を設定するにはどうすればよいですか?

ホットタグ

アーカイブ