DataWeave アサーションライブラリ

dw::test::Asserts

このモジュールには、テストで使用するコアマッチャーのセットが含まれます。

%dw 2.0
import dw::tests::Asserts
---
payload must beObject()
dataweave

ペイロードが Object (オブジェクト) 型かどうかを検証します。

関数

anyOf

anyOf(Array<Matcher<Any>>): Matcher<Any>

値が少なくとも 1 つの指定されたマッチャーを満たすことを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must anyOf(beObject(), beString())
dataweave

beArray

beArray(): Matcher

指定された値が Array (配列) 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
[1, 4, 7] must beArray()
dataweave

beBlank

beBlank(): Matcher<String | Null>

文字列値が空白であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
"  " must beBlank()
dataweave

beBoolean

beBoolean(): Matcher

指定された値が Boolean (ブール) 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
true must beBoolean()
dataweave

beEmpty

beEmpty(): Matcher<String | Object (オブジェクト) | Array (配列) | Null>

値 (String (文字列)、Object (オブジェクト)、または Array (配列)) が空であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
[] must beEmpty()
dataweave

beGreaterThan

beGreaterThan(Comparable, Boolean): Matcher<Comparable>

アサートされた Comparable (比較可能) 値が少なくとも 1 つの指定された値より大きいことを検証します。

inclusive​ 引数を使用する場合と同様に使用できます。

%dw 2.0
import dw::tests::Asserts
---
3 must beGreaterThan(2)
dataweave

beLowerThan

beLowerThan(Comparable, Boolean): Matcher<Comparable>

アサートされた Comparable (比較可能) 値が指定された値より低いことを検証します。

inclusive​ 引数を使用する場合と同様に使用できます。

%dw 2.0
import dw::tests::Asserts
---
1 must beLowerThan(2)
dataweave

beNull

beNull(): Matcher

指定された値が Null 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
null must beNull()
dataweave

beNumber

beNumber(): Matcher

指定された値が Number (数値) 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
123 must beNumber()
dataweave

beObject

beObject(): Matcher

指定された値が Object (オブジェクト) 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
{ name : "Lionel", lastName: "Messi"} must beObject()
dataweave

beOneOf

beOneOf(Array<Any>): Matcher

値が指定された Array (配列) に含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
1 must beOneOf([1, "A Text", true])
dataweave

beString

beString(): Matcher

指定された値が String (文字列) 型であることを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must beString()
dataweave

contain

contain(String): Matcher<String>

アサートされた String (文字列) に指定された String (文字列) が含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must contain("ex")
dataweave

contain(Any): Matcher<Array<Any>>

アサートされた Array (配列) に指定された値が含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
[1, "A Text", true] must contain(1)
dataweave

eachItem

eachItem(Matcher<Any>): Matcher<Array<Any>>

配列内の各項目が指定されたマッチャーを満たすことを検証します。

%dw 2.0
import dw::tests::Asserts
---
[1,2,3] must eachItem(beNumber())
dataweave

endWith

endWith(String): Matcher<String>

アサートされた String (文字列) が指定された String (文字列) で終了することを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must endWith("xt")
dataweave

equalTo

equalTo(Any, ​{ unordered?: Boolean }​): Matcher<Any>

値が別の値と等しいことを検証します。

%dw 2.0
import dw::tests::Asserts
---
(1 + 2) must equalTo(3)
dataweave

equalToResource

equalToResource(String, String, Object): Matcher<Any>

指定された値がリソースファイルの内容と等しいことを検証します。

リソースファイルはクラスパスに属している必要があります。

%dw 2.0
import dw::tests::Asserts
---
{ name: "Lionel", lastName: "Messi" } must equalToResource("user.json", "application/json")
dataweave

haveItem

haveItem(Matcher<Any>): Matcher<Array<Any>>

配列の少なくとも 1 つの項目が指定されたマッチャーを満たすことを検証します。

%dw 2.0
import dw::tests::Asserts
---
[1, true, "a text"] must haveItem(beNumber())
dataweave

haveKey

haveKey(String): Matcher<Object>

Object (オブジェクト) に指定されたキーが含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
{ name: "Lionel", lastName: "Messi" } must haveKey("name")
dataweave

haveSize

haveSize(Number): Matcher<Array | String (文字列) | Object>

配列に指定されたサイズが含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
[1, 4, 7] must haveSize(3)
dataweave

haveValue

haveValue(Any): Matcher<Object>

Object (オブジェクト) に指定された値が含まれることを検証します。

%dw 2.0
import dw::tests::Asserts
---
{ name: "Lionel", lastName: "Messi" } must haveValue("Messi")
dataweave

must

must(T, Array<(value: T) → Matcher<T> | MatcherResult | Boolean>): MatcherResult

この関数では、式のマッチャーのリストを使用して値をアサートできます。

%dw 2.0
import dw::tests::Asserts
---
payload must [
    beObject(),
    $.foo is Null
]
dataweave

must(T, (value: T) → Matcher<T> | Boolean): MatcherResult

この関数では、式のマッチャーを使用して値をアサートできます。

%dw 2.0
import dw::tests::Asserts
---
payload must beObject()
dataweave

notBe

notBe(Matcher<T>): Matcher<T>

値が指定されたマッチャーを満たさないことを検証します。

%dw 2.0
import dw::tests::Asserts
---
1 must notBe(equalTo(2))
dataweave

notBeNull

notBeNull(): Matcher

指定された値が Null 型ではないことを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must notBeNull()
dataweave

startWith

startWith(String): Matcher<String>

アサートされた String (文字列) が指定された String (文字列) で開始することを検証します。

%dw 2.0
import dw::tests::Asserts
---
"A Text" must startWith("A")
dataweave

変数

MATCHED

成功した一致を表す定数。

Matcher (マッチャー)

アサーションを実行するマッチャーを表すデータ型。

%dw 2.0
import dw::tests::Asserts

fun beEqualToOne(): Matcher<Any> =
    (actual) -> do {
        {
            matches: actual == 1,
            description: { expected: "To be 1", actual: write(actual) as String }
        }
    }
dataweave
定義
(value: T) -> MatcherResult
dataweave

MatcherResult

アサーションの結果を表すデータ型。

{
  "matches": false,
  description : { expected : "Number type", actual: "A Text" }
}
dataweave
定義
{ matches: Boolean, description: { expected: String, actual: String }, reasons?: Array<String> }
dataweave