phone_countryContactПоддержка Locale

Mock Jutsu HOW-TO | RU

В процессе разработки современных веб-приложений и микросервисов качественные тестовые данные играют решающую роль в обеспечении стабильности системы. Библиотека mock-jutsu предоставляет разработчикам и инженерам по автоматизации тестирования удобный инструментарий для создания реалистичных наборов информации. Одной из ключевых функций в категории Contact является phone_country, предназначенная для генерации международных телефонных кодов стран. Эта функция позволяет мгновенно получать валидные префиксы, такие как +7, +1, +90 или +44, что крайне важно для проверки корректности работы модулей связи и регистрации пользователей.

Алгоритм работы phone_country базируется на международных стандартах электросвязи, в частности ITU-T E.164, что гарантирует соответствие генерируемых кодов реальным географическим зонам. Использование функции mock-jutsu избавляет команду от необходимости вручную составлять справочники или использовать статические файлы, которые быстро устаревают. Генерируемые мок-данные охватывают широкий спектр стран, позволяя тестировать поведение системы при вводе кодов разной длины — от однозначных префиксов до сложных четырехзначных комбинаций, характерных для небольших островных государств.

Интеграция функции в рабочий процесс максимально упрощена благодаря поддержке различных интерфейсов. Разработчики на Python могут вызвать генерацию через простой метод jutsu.generate('phone_country'), что идеально подходит для наполнения баз данных или создания фикстур в Pytest. Для быстрой работы через консоль предусмотрена CLI-команда mockjutsu generate phone_country, позволяющая получать значения без написания кода. Кроме того, встроенная поддержка JMeter через конструкцию ${__mockjutsu(phone_country,)} делает mock-jutsu мощным союзником в нагрузочном тестировании, где требуется имитация трафика от пользователей из разных регионов мира.

Сценарии применения функции phone_country включают в себя валидацию форм ввода, проверку логики определения страны по номеру телефона и тестирование систем отправки SMS-уведомлений. Эти тестовые данные помогают выявить ошибки в регулярных выражениях и логике обработки строк на ранних этапах разработки. Использование динамических данных вместо "захардкоженных" значений повышает надежность тестов и минимизирует риск пропуска багов, связанных с редкими телефонными кодами. В конечном итоге, mock-jutsu помогает создавать более гибкие и устойчивые к внешним факторам программные продукты, экономя время на подготовку тестового окружения.

Использование CLI
mockjutsu generate phone_country --locale TRmockjutsu generate phone_country --locale DEmockjutsu bulk phone_country --count 10 --locale TRmockjutsu export phone_country --count 10 --format json --locale TRmockjutsu export phone_country --count 10 --format csv --locale TRmockjutsu export phone_country --count 10 --format sql --locale TR# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate phone_country --locale TR --maskmockjutsu bulk phone_country --count 5 --locale TR --mask
Python API
from mockjutsu import jutsujutsu.generate('phone_country', locale='TR')jutsu.bulk('phone_country', count=10, locale='TR')jutsu.template(['phone_country'], count=5, locale='TR')# mask=True: regulation-compliant outputjutsu.generate('phone_country', locale='TR', mask=True)jutsu.bulk('phone_country', count=5, locale='TR', mask=True)
JMeter
${__mockjutsu_comm(phone_country,TR)}# JMeter Function: __mockjutsu_comm# Parameter 1: phone_country# Parameter 2: locale (TR/UK/US/DE/FR/RU)${__mockjutsu_comm(phone_country,DE)}# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_comm(phone_country,TR,mask)}
REST API
GET /generate/phone_country?locale=TR# → {"type":"phone_country","result":"...","status":"ok"}GET /bulk/phone_country?count=10&locale=TRPOST /template {"types":["phone_country"],"count":1,"locale":"TR"}# mask=true: regulation-compliant outputGET /generate/phone_country?locale=TR&mask=trueGET /bulk/phone_country?count=5&locale=TR&mask=true

Параметры

Параметр Значения Описание
--locale TR|UK|US|DE|FR|RU Region / locale for locale-aware output
--mask true | false Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…)

Другие языки