как писать функции pytest путем импорта фрейма данных в литейный цех palantir

Я могу писать функции pytest, вручную указав имена и значения столбцов для создания фрейма данных и передав его производственному коду для проверки всех преобразованных значений полей в репозитории кода литейного производства palantir.

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

Можно ли в любом случае принять набор данных в качестве входных данных тестовой функции в репозитории кода planatir.


person Gavisha BN    schedule 05.11.2020    source источник


Ответы (1)


Вероятно, вы можете сделать что-то вроде этого:

Допустим, у вас есть csv в папке fixtures/ рядом с вашим тестом.

test_yourtest.py
fixtures/yourfilename.csv

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

def load_file(spark_context):
    filename = "yourfilename.csv"
    file_path = os.path.join(Path(__file__).parent,  "fixtures", filename)

    return open(file_path).read()

Теперь вы можете загрузить свой CSV, это просто вопрос загрузки его в фрейм данных и передачи в логику pyspark, которую вы хотите протестировать. Получить CSV в кадр данных Spark

person fmsf    schedule 05.11.2020