Показаны сообщения с ярлыком автоматизация в блокноте. Показать все сообщения
Показаны сообщения с ярлыком автоматизация в блокноте. Показать все сообщения

четверг, 21 декабря 2017 г.

Автоматизация в блокноте. Берем из кода р2о, кладем в тест

На входе в систему у нас плоская запись — физик со всеми его атрибутами (телефоны, адреса...). На выходе — объект. Между ними некая трансформация. Соответственно, в коде есть маппирование p2o (plain to object) — какие поля объекта в каком поле плоской записи хранятся.

Если надо выполнить трансформацию в автотестах, мы указываем там конкретное поле по его названию. Например, ${p2o_name}. К этому мы, кстати, тоже не сразу пришли, пройдя через #жизньболь, но об этом я рассказывала раньше.

Итак, если надо проверить логику одного поля, все легко и просто. Но полей то в заказчиках много. И при создании новой сборки добавляется базовый комплект тестов, в том числе и на трансформацию. А это значит, что нам надо проверить, что каждое значение поля ложится ровно туда, куда ему надо. И что для каждого поля срабатывают конкретные правила.

Условие


Значит, имеем код:

    <!-- Дата актуальности -->
    <entry key="actualityDate" value="4"/>

    <!-- ФИО -->
    <entry key="fullNameRawSource" value="5"/>
    <entry key="surname" value="6"/>
    <entry key="name" value="7"/>
    <entry key="patronymic" value="8"/>
    <entry key="gender" value="9"/>
    <entry key="genderRawSource" value="10"/>
    <entry key="fullNameQC" value="11"/>
    ...

И надо на его основе сделать тесты. Фактически надо забрать значение key и переложить в запись ${p2o_key}, сделав верхнюю строчку заголовков в тесте:

Есть код, надо на его основе создать автотест

И хотя похожие тесты уже есть, наборы полей у заказчиков разные. Обычно можно взять готовый тест и подменить буквально пять значений. Это можно сделать и ручками. Но если полей много, получается невесело.

Радость и веселье
Здесь нам поможет автоматизация в блокноте. Я расскажу, как решала эту проблему. Итак, вставляем текст в блокнот и поехали!

суббота, 15 июля 2017 г.

Автоматизация в блокноте. Изменился порядок записей в тесте, меняем регэкспами

Мы решили поменять плоскую запись ФИО на нормализованную. Это чтобы учесть всякие изменения типа Киселева Ольга → Назина Ольга. Теперь мне надо поднять тесты. Ведь на входе теперь вместо одной строки будет две:


;1-01;КЛИМОВА;НАДЕЖДА;ЛЬВОВНА;27.04.1976;;;;BANK



;1-01;27.04.1976;;;;BANK
fio;;КЛИМОВА;НАДЕЖДА;ЛЬВОВНА;EDITED


Тесты написаны в csv файле, их можно открыть через блокнот. В тесте 300 строк, из них треть занимают строки с ФИО. Как менять будем, вручную? Безудержное веселье

Менять 100 строк ручками? Ок
Конечно, нет.
Нужно написать регэксп, а блокнот потом все сделает за нас.