翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSTOE コンポーネントドキュメントでの比較演算子の使用
Assert アクションモジュールや if 構造 を使用する条件式では、以下の比較演算子を使用できます。比較演算子には、stringIsEmpty
など、単一の値に対して動作するものもあれば、ベースライン値を 2 番目の値 (変数値) と比較して、条件式が true
と false
のどちらに評価されるかを判定するものもあります。
比較が 2 つの値で動作する場合、2 番目の値は連鎖変数にすることができます。
異なるタイプの値を比較すると、次の値変換が比較前に発生する可能性があります。
-
数値比較の場合、変数値が文字列の場合、 は文字列を評価前の数値 AWSTOE に変換します。変換が不可能な場合、比較は
false
を返します。例えば、変数値が"1.0"
の場合は変換が機能しますが、変数値が"a10"
の場合は変換に失敗します。 -
文字列比較の場合、変数値が数値の場合、 は評価の前に文字列 AWSTOE に変換します。
文字列の比較
以下の比較演算子は文字列を対象として、値の比較、スペースや空の文字列かどうかのテスト、入力値と正規表現パターンの比較を行います。文字列比較では、大文字と小文字は区別されず、入力文字列の先頭または末尾のスペースはトリミングされません。
文字列比較演算子
- stringIsEmpty
-
stringIsEmpty
演算子は、指定された文字列に文字が含まれていない場合にtrue
を返します。以下に例を示します。# Evaluates to true stringIsEmpty: "" # Evaluates to false stringIsEmpty: " " # Evaluates to false stringIsEmpty: "Hello."
- stringIsWhitespace
-
stringIsWhitespace
に指定された文字列にスペースのみが含まれているかどうかをテストします。以下に例を示します。# Evaluates to true stringIsWhitespace: " " # Evaluates to false stringIsWhitespace: "" # Evaluates to false stringIsWhitespace: " Hello?"
- stringEquals
-
stringEquals
に指定された文字列が、value
パラメータに指定された文字列と完全に一致するかどうかをテストします。以下に例を示します。# Evaluates to true stringEquals: 'Testing, testing...' value: 'Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Hello again.' # Evaluates to false stringEquals: 'Testing, testing...' value: 'TESTING, TESTING....' # Evaluates to false stringEquals: 'Testing, testing...' value: ' Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Testing, testing... '
- stringLessThan
-
stringLessThan
に指定された文字列が、value
パラメータに指定された文字列より小さいかどうかをテストします。以下に例を示します。# Evaluates to true # This comparison operator isn't case sensitive stringlessThan: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringlessThan: 'b' value: 'a' # Evaluates to true # Numeric strings compare as less than alphabetic strings stringlessThan: 'a' value: '0' # Evaluates to false stringlessThan: '0' value: 'a'
- stringLessThan等しい
-
stringLessThanEquals
に指定された文字列が、value
パラメータに指定された文字列以下であるかどうかをテストします。以下に例を示します。# Evaluates to true - 'a' is equal to 'a' stringLessThanEquals: 'a' value: 'a' # Evaluates to true - since the comparison isn't case sensitive, 'a' is equal to 'A' stringLessThanEquals: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringLessThanEquals: 'b' value: 'a' # Evaluates to true - '0' is less than 'a' stringLessThanEquals: 'a' value: '0' # Evaluates to false - 'a' is greater than '0' stringLessThanEquals: '0' value: 'a'
- stringGreaterThan
-
stringGreaterThan
に指定された文字列が、value
パラメータに指定された文字列より大きいかどうかをテストします。以下に例を示します。# Evaluates to false - since the comparison isn't case sensitive, 'A' is equal to 'a' stringGreaterThan: 'a' value: 'A' # Evaluates to true - 'b' is greater than 'a' stringGreaterThan: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThan: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThan: 'a' value: '0'
- stringGreaterThan等しい
-
stringGreaterThanEquals
に指定された文字列が、value
パラメータに指定された文字列以上であるかどうかをテストします。以下に例を示します。# Evaluates to true - 'a' is equal to 'A' stringGreaterThanEquals: 'A' value: 'a' # Evaluates to true - 'b' is greater than 'a' stringGreaterThanEquals: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThanEquals: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThanEquals: 'a' value: '0'
- patternMatches
-
value
パラメータで指定された文字列が、patternMatches
で指定された正規表現パターンと一致するかどうかをテストします。比較では、 RE2構文に準拠する Golang regexp パッケージを使用します。RE2 ルールの詳細については、「」の「google / re2 リポジトリ」を参照してくださいGitHub。 次の例は、
true
を返すパターン一致を示しています。patternMatches: '^[a-z]+$' value: 'ThisIsValue'
数値の比較
以下の比較演算子は数値を対象として動作します。これらの演算子に提供される値は、YAML仕様に従って、次のいずれかのタイプである必要があります。数値比較のサポートでは、golang の big パッケージの比較演算子 (func (*Float) Cmp
-
整数
-
浮動小数点数 (float64 に基づき、-1.7e+308~+1.7e+308 の数値をサポート)
-
正規表現パターン
^[-+]?([0-9]+[.])?[0-9]+$
に一致する文字列。
- numberEquals
-
numberEquals
に指定された数値が、value
パラメータに指定された数値と等しいかどうかをテストします。次の比較の例はすべてtrue
を返します。# Values provided as a positive number numberEquals: 1 value: 1 # Comparison value provided as a string numberEquals: '1' value: 1 # Value provided as a string numberEquals: 1 value: '1' # Values provided as floats numberEquals: 5.0 value: 5.0 # Values provided as a negative number numberEquals: -1 value: -1
- numberLessThan
-
numberLessThan
に指定された数値が、value
パラメータに指定された数値より小さいかどうかをテストします。以下に例を示します。# Evaluates to true numberLessThan: 2 value: 1 # Evaluates to true numberLessThan: 2 value: 1.9 # Evaluates to false numberLessThan: 2 value: '2'
- numberLessThan等しい
-
numberLessThanEquals
に指定された数値が、value
パラメータに指定された数値以下であるかどうかをテストします。以下に例を示します。# Evaluates to true numberLessThanEquals: 2 value: 1 # Evaluates to true numberLessThanEquals: 2 value: 1.9 # Evaluates to true numberLessThanEquals: 2 value: '2' # Evaluates to false numberLessThanEquals: 2 value: 2.1
- numberGreaterThan
-
numberGreaterThan
に指定された数値が、value
パラメータに指定された数値より大きいかどうかをテストします。以下に例を示します。# Evaluates to true numberGreaterThan: 1 value: 2 # Evaluates to true numberGreaterThan: 1 value: 1.1 # Evaluates to false numberGreaterThan: 1 value: '1'
- numberGreaterThan等しい
-
numberGreaterThanEquals
に指定された数値が、value
パラメータに指定された数値以上であるかどうかをテストします。以下に例を示します。# Evaluates to true numberGreaterThanEquals: 1 value: 2 # Evaluates to true numberGreaterThanEquals: 1 value: 1.1 # Evaluates to true numberGreaterThanEquals: 1 value: '1' # Evaluates to false numberGreaterThanEquals: 1 value: 0.8
ファイルのチェック
以下の比較演算子は、ファイルハッシュのチェックや、ファイルまたはフォルダが存在するかどうかの確認を行います。
ファイルとフォルダの演算子
- binaryExists
-
現在のパスでアプリケーションが利用可能かどうかをテストします。以下に例を示します。
binaryExists: '
foo
'注記
Linux および macOS システムでは、 という名前のアプリケーションの場合
foo
、これは次の bash コマンドと同じように機能します: typefoo
>/dev/null 2>&1。 は比較が成功した$? == 0ことを示します。Windows システムでは、 という名前のアプリケーションの場合
foo
、これは PowerShell コマンドと同じように機能します。 & C:\Windows\System32\where.exe /Qfoo
は比較が成功した$LASTEXITCODE = 0ことを示します。 - fileExists
-
指定されたパスにファイルが存在するかどうかをテストします。絶対パスまたは相対パスを指定できます。指定された場所が存在し、ファイルである場合、比較は
true
に評価されます。以下に例を示します。fileExists: '
/path/to/file
'注記
Linux および macOS システムでは、これは bash コマンド -d
/path/to/file
と同じ動作になり、$? == 0 が比較の成功を示します。Windows システムでは、これは PowerShell コマンド と同じように機能しますTest-Path -Path '
C:\path\to\file
' -PathType 'Leaf'。 - folderExists
-
指定されたパスにフォルダが存在するかどうかをテストします。絶対パスまたは相対パスを指定できます。指定された場所が存在し、フォルダである場合、比較は
true
に評価されます。以下に例を示します。folderExists: '
/path/to/folder
'注記
Linux および macOS システムでは、これは bash コマンド -d
/path/to/folder
と同じ動作になり、$? == 0 が比較の成功を示します。Windows システムでは、これは PowerShell コマンド と同じように機能しますTest-Path -Path '
C:\path\to\folder
' -PathType 'Container'。 - fileMD5Equals
-
ファイルのMD5ハッシュが指定された値と等しいかどうかをテストします。以下に例を示します。
fileMD5Equals: '
<MD5Hash>
' path: '/path/to/file
' - fileSHA1Equals
-
ファイルのSHA1ハッシュが指定された値と等しいかどうかをテストします。以下に例を示します。
fileSHA1Equals: '
<SHA1Hash>
' path: '/path/to/file
' - fileSHA256Equals
-
ファイルのSHA256ハッシュが指定された値と等しいかどうかをテストします。以下に例を示します。
fileSHA256Equals: '
<SHA256Hash>
' path: '/path/to/file
' - fileSHA512Equals
-
ファイルのSHA512ハッシュが指定された値と等しいかどうかをテストします。以下に例を示します。
fileSHA512Equals: '
<SHA512Hash>
' path: '/path/to/file
'