У меня есть код ниже, для которого я должен написать модульный тест, но я действительно не уверен в этом, поскольку метод не принимает никаких аргументов в определении функции, и я действительно не знаю, как передать значения для переменные при написании модульного теста.
Как видно из приведенного ниже кода, у нас есть 4 переменные, значение которых будет опубликовано в запросе почтальона:
- access_token
- data_separator
- FPATH
Я хочу проверить, работает ли функция правильно и может ли она прочитать текстовый файл, обработать его и отправить обратно значение возврата.
def b():
"""
save uploaded document
"""
return_value = {"status": "fail"}
try:
access_token = request.form["access_token"]
decoded = decode_token(access_token)
data_separator = request.form["data_separator"]
fpath = _save_input_file_(decoded["AccountUId"])
# extract_to = os.path.join(_get_client_tmp_dir_(), 'extract')
# if not es.uncompress(fpath, extract_to):
# msg = 'error while attempting to uncompress! file: %s'
# logger.error(msg)
# return json.dumps({'msg': 'failure'})
df = None
if os.path.isfile(fpath):
logger.debug("saved is file. reading file into dataframe")
df = pd.read_csv(fpath, names=[cf.COLUMN1,cf.COLUMN2], sep=data_separator)
elif os.path.isdir(fpath):
# read dir in a for loop
pass
(train_x, test_x, train_y, test_y) = _determine_features_(df, decoded["AccountUId"])
score = _train_model_and_persist_(train_x, test_x, train_y, test_y,decoded["AccountUId"])
return_value = {"status":"success", "accuracy":score}
except jwt.exceptions.DecodeError:
logger.exception("An error occured")
return_value["msg"] = "Invalid token. Error while decoding"
return json.dumps(return_value)