От написания метаданных.yaml до успешного тестирования файла процессора

  1. Проверьте соответствие полей модели и клиента (прототип диаграммы Excel)

  2. Исправлятьприложения\команды\метаданные\cai_liao_ she_bei_metadata.yamlдокумент

    Для параметра content_field_name в разделе all в wen_jian_db_conf вам необходимо найти соответствующую модель на основе пути к файлу, записанного в модели, чтобы увидеть, какая информация о файле (информация) используется.
    Надо добавить exclude_fields_type: add.
    Другие примечания:
    вставьте сюда описание изображения

    Класс перечисления должен быть записан в следующем виде:

    ji_hua_qi:
        type: enum
        interm_table_class: JiHuaQiType
    

    Если существует класс перечисления, вы также должны указать класс перечисления в этом файле.common\metadata\enum_factory.py

  3. Чтобы создать выходной файл метаданных, используйте командуflask create_metadata -i [относительный путь к файлу метаданных.yaml]

  4. существоватьприложения\python_class\cai_liao_yu_she_bei\_ init _.pyиприложения\python_class\__init__ .pyИмпортировать автоматически сгенерированный класс

    Функция файла _ init _.py заключается в импорте всех папок по относительным путям в текущий файл инициализации. Слой за слоем файл инициализации в корневом каталоге будет содержать всю информацию в текущем каталоге.

  5. Заполните автоматически созданные файлы процессора и тестового процессора.

    test_wu_zi_yang_pin_song_shen_biao_processorСледующие две части документа должны соответствоватьприложения\config\sheet_processors\cai_liao_yu_she_bei_sheet_processor.yamlтип_листа в иприложения\config\processors\cai_liao_yu_she_bei_processor.yamlField_name самого внешнего уровня в поле должно оставаться прежним.

    Файл метаданных, создаваемый впервые, должен содержать связанные классы applications\config\sheet_processor.yaml.applications\config\processor.yaml
    вставьте сюда описание изображения вставьте сюда описание изображения

    Если в тестовом файле имеется связь «многие-ко-многим», в тестовом файле необходимо выполнить соответствующие тесты:
    вставьте сюда описание изображения
    класс поля Many_to_many должен быть импортирован в файл Many_to_class.
    Обратите внимание в файле процессора:
    вставьте сюда описание изображения
    при наличии нескольких вложенных таблиц необходимо добавить процессор child_fk_name = 'zhao_biao_wen_jian_id'и привязать значение id.

    Часть данных тестового файла в test_processor и положение поля, которое необходимо записать в процессор, значение ключа должно соответствовать applications\config\processors\zhao_biao_yu_he_yue_processor.yamlполю, автоматически сгенерированному в test_processor. Иногда поля, расположенные в foot и head, могут не получать данные, поэтому их следует поместить в content_data. При получении содержимого поля используйте applications\config\processors\zhao_biao_yu_he_yue_processor.yamlзначение ключа, соответствующее каждому полю, определенному в .

    Класс даты не только требует специальной обработки в процессоре, но также требует специального экранирования во время тестирования:

    assert zhao_biao_cai_gou_ji_hua.ji_hua_shi_jian.strftime('%Y-%m-%d') == '2021-10-11'
    

    Утверждения класса перечисления должны быть записаны следующим образом:

    assert zhao_biao_cai_gou_ji_hua.ji_hua_qi == JiHuaQiType.nian_du
    

    В тестовом файле вам нужно протестировать только поля в этих местах файла процессора:
    вставьте сюда описание изображения

  6. существоватьcommon\metadata\field_conf_factory.pyВ файл импортируйте классы, используемые в файле метаданных.yaml.

  7. существоватьcommon\metadata\processor_factory.pyфайл, импортируйте файл процессора на шаге 5.

  8. Через pytest используйте командуpytest [тестовый файл или папка тестовых файлов для выполнения]

Supongo que te gusta

Origin blog.csdn.net/weixin_45605541/article/details/131705209
Recomendado
Clasificación