Mule Dataweave 断言函数 haveKey 不验证具有空值的键
Mule Dataweave Assertion Function haveKey is not validating keys with null values
有谁知道 DW 断言函数 haveKey 是否应该验证键值为 null 的键对?如果值为空,MUnit 似乎无法断言,如下所示:
Expected: to contain key carelineId
Actual: {
carelineId: null
}
at org.mule.munit.assertion.internal.AssertModule.assertMatcherResult(AssertModule.java:77
很明显密钥在那里,但它的值为 null。谢谢!
编辑:
输入是一个转换消息集变量:
%dw 2.0 output application/java
import * from dw::test::Asserts
---
{
carelineId: null
}
表达式为:
import * from dw::test::Asserts
---
vars.theInput must haveKey('carelineId')
我认为问题在于 haveKey() 使用匹配器而不是字符串作为参数。示例:
#[MunitTools::hasKey(MunitTools::equalTo('myKey'))
查看文档 https://docs.mulesoft.com/munit/2.3/munit-matchers
请注意,这些是 Munit 断言和匹配器。
有谁知道 DW 断言函数 haveKey 是否应该验证键值为 null 的键对?如果值为空,MUnit 似乎无法断言,如下所示:
Expected: to contain key carelineId
Actual: {
carelineId: null
}
at org.mule.munit.assertion.internal.AssertModule.assertMatcherResult(AssertModule.java:77
很明显密钥在那里,但它的值为 null。谢谢!
编辑:
输入是一个转换消息集变量:
%dw 2.0 output application/java
import * from dw::test::Asserts
---
{
carelineId: null
}
表达式为:
import * from dw::test::Asserts
---
vars.theInput must haveKey('carelineId')
我认为问题在于 haveKey() 使用匹配器而不是字符串作为参数。示例:
#[MunitTools::hasKey(MunitTools::equalTo('myKey'))
查看文档 https://docs.mulesoft.com/munit/2.3/munit-matchers
请注意,这些是 Munit 断言和匹配器。