
Выпуск Wick 0.14: глубокие вызовы и утверждения пакетов
Wick 0.14 привносит в Wick два основных улучшения качества жизни: глубокие вызовы и целый класс новых утверждений для тестовых примеров Wick.
Глубокие призывы
Вы всегда можете использовать wick invoke для конфигурации с одним компонентом.

Но по мере того, как компоненты и их отношения становились все более сложными, стало труднее «просто вызывать» компоненты, которые были глубоко вложены внутри других. Еще сложнее было с компонентами, которые были частью существующей конфигурации приложения.
Теперь wick invoke будет принимать пути к операции и напрямую работать с приложениями.
Правильно, теперь вы можете вызвать любую операцию внутри любого приложения прямо из командной строки. Никакой дополнительной настройки не требуется.
Это означает, что каждая операция в каждом приложении теперь выполняется с помощью утилиты командной строки.
Хотите предоставить функциональность для использования другой командой? Уже сделано.
Необходимо проверить данные в другое время и в других условиях? Используйте само приложение в bash-скрипте.
Хотите устранить неполадки, почему часть приложения не работает? Выполните операцию из командной строки и протестируйте ее изолированно.
Да, и кстати о тестах…
Утверждения пакетов
Утверждение Уика по умолчанию о строгом равенстве в тестовых случаях хорошо, когда данные предсказуемы и детерминированы, но жизнь не всегда предсказуема и детерминирована.
Худшими нарушителями являются операции HTTP и БД, выходные данные которых часто содержат метки времени, идентификаторы и другие значения, которые трудно предсказать.
В версии 0.14 добавлен новый класс утверждений для изоляции тестов по подполям вывода и для тестирования с использованием различных критериев, таких как свободное сопоставление, регулярные выражения и числовые сравнения.
tests:
- name: basic_tests
cases:
# Old test cases still work
- name: basic_equality
operation: echo
inputs:
- name: input
value: 'Hello, world!'
outputs:
- name: output
value: 'Hello, world!'
# Now you can specify `assertions` for each output packet.
- name: assertions
operation: echo
inputs:
- name: input
value:
string_value: Hello!
number: 42
outputs:
- name: output
assertions:
- operator: Contains
value: { string_value: Hello! }
- operator: LessThan
path: number
value: 100

Примечания к выпуску
Полные примечания к выпуску: https://github.com/candlecorp/wick/releases/tag/0.14.0
Обязательно ознакомьтесь с wick on github, документацией wick на candle.dev и присоединяйтесь к нашему discord-серверу!
Спасибо!