Статьи

Внедрение MUnit и MUnit Matchers с помощью MuleSoft

Что такое MUnit Framework?

MUnit — это среда тестирования приложений Mule, которая позволяет создавать автоматизированные тесты для интеграций Mule и API. MUnit очень хорошо интегрируется с Anypoint Studio и Maven.

MUnit Matchers

Соответствия MUnit — это набор функций DataWeave, которые определяют условия утверждения для любого значения в выражении. При определении совпадений включите в выражение префикс MunitTools ::.

Сопоставители группируются в соответствии с типом условий, которые вы хотите проверить.

Вам также может понравиться: MUnit Toward Automated Unit Test Cases

Тип соответствия

  • Основные Matchers
  • Струны
  • Сопоставимые сопоставители
  • Итерируемый и Map Matchers

MUnit Core Matchers

Matchers Описание пример

nullValue ()

Проверяет, что выражение является нулевым.

# [MunitTools :: nullValue ()]

notNullValue ()

Проверяет, что выражение не является нулевым.

# [MunitTools :: notNullValue ()]

withMediaType (String)

Проверяет, что тип носителя выражения является указанным.

# [MunitTools :: withMediaType ( ‘текст / XML’)]

withEncoding (String)

Проверяет, указана ли кодировка выражения.

# [MunitTools :: withEncoding ( ‘UTF-8’)]

оба (Matcher, Matcher)

Проверяет, что оба предоставленных соответствия успешны.

# [MunitTools :: оба (MunitTools :: notNullValue (), MunitTools :: equalTo ( ‘пример’))]

либо (Сличитель, Сличитель)

Проверяет, что хотя бы один из совпадений успешен.

# [MunitTools :: либо (MunitTools :: nullValue (), MunitTools :: equalTo (0))]

нет (объект)

Проверяет, не является ли указанное совпадение неудачным.

# [MunitTools :: нет (0)]

anyOf (Array <Сличитель>)

Проверяет, успешен ли кто-либо из участников.

# [MunitTools :: anyOf ([MunitTools :: notNullValue (), MunitTools :: withMediaType ( ‘текст / XML’), MunitTools :: isEmptyString ()])]

allOf (Array <Сличитель>)

Проверяет, все ли совпадения успешны.

# [MunitTools :: allOf ([MunitTools :: notNullValue (), MunitTools :: withMediaType ( ‘текст / XML’), MunitTools :: isEmptyString ()])]

MUnit String Matchers

Matchers Описание пример

containsString (String)

Проверяет, что выражение содержит указанную строку.

# [MunitTools :: containsString ( ‘пример’)]

StartsWith (String)

Проверяет, что выражение начинается с указанной строки.

# [MunitTools :: StartsWith ( ‘экзамен’)]

EndsWith (String)

Проверяет, что выражение заканчивается указанной строкой.

# [MunitTools :: EndsWith ( ‘PLE’)]

isEmptyString ()

Проверяет, что выражение имеет нулевую длину.

# [MunitTools :: isEmptyString ()]

isEmptyOrNullString ()

Проверяет, является ли выражение нулевым или имеет нулевую длину.

# [MunitTools :: isEmptyOrNullString ()]

equalToIgnoringCase (String)

Проверяет, что выражение равно указанной строке, игнорируя регистр.

# [MunitTools :: equalToIgnoringCase ( ‘пример’)]

equalToIgnoringWhiteSpace (String)

Проверяет, что выражение равно строке без учета начальных и конечных пробелов, и сжимает все внутренние пробелы в один пробел.

# [MunitTools :: equalToIgnoringWhiteSpace (‘Пример’)]

stringContainsInOrder (Array <String>)

Проверяет, что выражение содержит все указанные подстроки, независимо от порядка их появления.

# [MunitTools :: stringContainsInOrder ([‘an’, ‘example’])]

MUnit сопоставимые сопоставители

Matchers описание пример

GreaterThan (Сопоставимые)

Проверяет, что выражение больше указанного значения.

# [MunitTools :: GreaterThan (| 2017-08-09 |)]

greaterThanOrEqualTo (Сопоставимые)

Проверяет, что выражение больше или равно указанному значению.

# [MunitTools :: greaterThanOrEqualTo (20)]

LessThan (Сопоставимые)

Проверяет, что выражение меньше указанного значения.

# [MunitTools :: lessThanOrEqualTo (20)]

closeTo (число, номер)

Проверяет, что выражение близко к первому числу, используя второе число в качестве значения дельты.

Другими словами, проверяет, что выражение принадлежит диапазону, определенному первым числом +/- вторым числом.

# [MunitTools :: closeTo (1, 0,01)]

equalTo (Объект)

Проверяет, что выражение равно определенному значению.

# [MunitTools :: equalTo (0)]

Карта MUnit и итерационные совпадения

matchers описание пример

everyItem (Сличитель)

Проверяет, что каждый элемент в выражении соответствует указанному сопоставителю.

# [MunitTools :: everyItem (MunitTools :: notNullValue ())]

hasItem (Объект)

Проверяет, что любой элемент в выражении соответствует указанному сопоставителю.

# [MunitTools :: hasItem ( ‘пример’)]

hasSize (Сличитель | Integer)

Проверяет, что размер выражения соответствует указанному сопоставителю.

# [MunitTools :: hasSize (MUnitTools :: GreaterThan (2))]

пусто()

Проверяет, что выражение является пустой коллекцией.

# [MunitTools :: IsEmpty ()]

hasKey (Сличитель | String)

Проверяет, что выражение имеет ключ, который соответствует указанному сопоставителю.

# [MunitTools :: hasKey (MunitTools :: StartsWith ( ‘а’))]

HasValue (Объект)

Проверяет, что выражение имеет значение, которое соответствует указанному сопоставителю.

# [MunitTools :: HasValue (MunitTools :: StartsWith ( ‘а’))]

Теперь мы увидим несколько примеров, связанных с Core и String Matchers.

Проверьте, что полезная нагрузка ответа не является нулевой

Мы напишем MUnit, чтобы проверить, что полезная нагрузка не равна нулю, и мы будем использовать ядро matcher notNullValue () .

В приведенном выше тестовом MUNIT случае, мы создаем URI Param в наборе событий , и мы будем использовать утверждающие , что проверить , если полезная нагрузка не является нулевым.

На скриншоте ниже мы настраиваем Set Event для передачи параметра URI в поток и Matcher notNullValue () для подтверждения этого.

Код


XML