Contact Us 1-800-596-4880

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

Compatibility

Software Version

Mule

Mule 4.1.4 or higher

Anypoint Studio

Anypoint Studio 7.3.4

Fixed Issues

  • Fixed issue that caused MUnit retrieve/remove operations to get wrapped in TypedValue.

  • 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 a before/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 as FAILURE instead of ERROR.

  • 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.

Resolved Tasks

  • Added support for Dynamic Directories.

  • Added support for Dynamic ports.

Enhancement Requests

  • The equalTo matcher can now ignore key order:

    <munit-tools:assert-that
      expression="#[{ first : 1, second: 2 }]"
      is="#[MunitTools::equalTo({ second: 2, first : 1 }, {unordered: true})]"/>

    With unordered set to true, 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 the thenReturn).

  • Created operation to store data temporarily.

  • Test parameterization.

  • Flow Sources now start after BeforeTest, and stop before AfterTest.

  • 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 and ignore suite.

  • Improved error message when expecting error types but no exception was specified.

  • Added XML line numbers to MUnit Coverage Report.

  • Created timeOut parameter for test.

  • 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 and Runtime Version to surefire report.