<munit-tools:assert-that
expression="#[{ first : 1, second: 2 }]"
is="#[MunitTools::equalTo({ second: 2, first : 1 }, {unordered: true})]"/>
MUnit 2.2.0 Release Notes
June 27, 2019
This new release provides:
-
Parameterized tests.
-
Dynamic Ports.
-
Dynamic Directory.
-
The option to configure an Expected error description in the test.
-
The option to specify a timeout for a test.
-
The option to run tests agains different JVMs.
-
The option to ignore a suite/test based on the Mule version or OS.
-
Support for Java 11.
-
Queue Operations.
-
Storage Operations.
-
Sleep Operation.
Hardware and Software Requirements
-
Microsoft Windows 8+
-
Apple Mac OS X 10.10+
-
Linux (tested on Ubuntu 15)
-
Java 8, OpenJDK 11
-
Maven 3.3.3, 3.3.9, 3.5.4, 3.6.0
Fixed Issues
-
Fixed issue that caused MUnit
retrieve
/remove
operations to get wrapped inTypedValue
. -
Fixed issue causing MUnit to mark tests that failed because of an exhausted
Until Successful
scope as errors. -
Fixed error that caused Jenkins to not mark as failed modules with failing MUnit tests.
-
MUnit now calculates the whole coverage for all runs within parameterized tests.
Coverage was only calculated for the first parameterized suite run, because it was the first application deployed. -
Fixed issue causing a
NullPointer exception
when having an operation inside abefore
/after-test
. -
Iterable Matchers now work with Iterators.
-
Fixed
Concurrent modification exception
when publishing to queue in Java 11. -
If
AssertionError
is thrown with a cause, test is now marked asFAILURE
instead ofERROR
. -
Fixed issue where using
-Dmunit.test
flag to parametrize test was not failing if no test was run. -
Ignored tests do not log
RUNNING
. -
Fixed issue where execution was always done in the IO pool.
-
Fixed issue causing MUnit to not read properties from
test/resources
folder.
Enhancement Requests
-
The
equalTo
matcher can now ignore key order:With
unordered
set totrue
, the{first : 1, second: 2}
expression can match to both{first : 1, second: 2}
and{second: 2, first : 1}
. -
Created functions to ignore a test based on the context (OS/Mule Server).
-
The
assert-equals
processor now receives literal on the expected parameter. -
The
dequeue
operation now informs the name of the queue when it times out. -
Description attribute under
munit:test
is now optional. -
Allow configuration files that don’t have tests in
src/test/munit
. -
Created
munit.debug
property to enable JVM remote debugging. -
Created Assert Expression Operation that supports weave testing framework.
-
Reduced overly verbose output when running tests.
-
Assertion errors now show file and line where the expression failed.
-
Mocking now supports
thenAnswer
(besides thethenReturn
). -
Created operation to store data temporarily.
-
Test parameterization.
-
Flow Sources now start after
BeforeTest
, and stop beforeAfterTest
. -
Created Queue/Dequeue operations.
-
MUnit now allows you to assert exception messages.
-
MUnit now allows you to configure run against different JDKs.
-
MUnit now allows you to extract parameterizations to a file.
-
Added
minMuleVersion
andignore suite
. -
Improved error message when expecting error types but no exception was specified.
-
Added XML line numbers to MUnit Coverage Report.
-
Created
timeOut
parameter fortest
. -
Added support for
-Dmaven.test.failure.ignore
in the MUnit Maven plugin. -
Created DataWeave function to create a message with payload and attributes.
-
Support
sleep
function to simulate delays in flows. -
MUnit now allows you to create a test OAuth token.
-
Added
Product
andRuntime Version
to surefire report.