<munit-tools:assert>
<munit-tools:that>#[ import * from dw::test::Asserts ---
payload must equalTo('example') ]
</munit-tools:that>
</munit-tools:assert>
Assert Expression
The Assert Expression processor allows you evaluate a Dataweave expression that asserts the state of a Mule Event’s content. This processor can be used to validate the Mule Event after the production code runs, using the DataWeave Assertions Library.
For example, to assert that a payload is equal to a certain value, you can configure the Assert-Expression processor using the equalTo() matcher.
Perform Complex Assertions
The DW assertions library allows you to assert the state of the Mule Event’s content in a deeper way.
<munit-tools:assert>
<munit-tools:that>#[ import * from dw::test::Asserts ---
vars.attributes must [beObject(), $.statusCode must equalTo(200), $.method must equalTo('GET')] ]
</munit-tools:that>
</munit-tools:assert>
Create your own Matcher
To create your own matcher, you can add DW files to your src/test/resources
folder. For example, a file called
MyMatcher.dwl
with the following content:
import * from dw::test::Asserts
fun beEven(): Matcher<Number> =
(actual:Number) -> do {
var matchesEven = (actual mod 2) == 0
---
{
matches: matchesEven,
description: {expected: " to be an even number.", actual: write(actual) as String}
}
}
And then use it in your Assert-Expression processor:
<munit-tools:assert>
<munit-tools:that>#[ import * from dw::test::Asserts ---
payload must MyMatcher::beEven() ]
</munit-tools:that>
</munit-tools:assert>
If this assertion fails, the processor throws a java.lang.AssertionError
.
Matchers from the |