У меня есть приложение web.py, и мне нужно провести несколько тестов + получить отчет о покрытии тестов. Мне нужно проверить метод POST и отправить JSON, который содержит символ ascii STL (3d-файл).
При использовании модуля requests
я легко могу просто прикрепить этот json
к POST и полностью подтвердить все, но когда я пытаюсь переключиться на paste.fixture
, я понятия не имею, как я могу отправить этот json, и я Невозможно найти какие-либо примеры, не говоря уже о документации, не совсем объяснительной.
Тестовый скрипт с использованием запросов (работает):
up = {
"stl_file": open("3dModel.stl", "rb"),
"Stl_type": "regular",
"Mark": "U",
"parameters": (None, open("parameters.json"), "application/json")
}
r = requests.post("http://%s/StlProcessing" % host, files=up)
Тестовый скрипт с использованием paste.fixture (не работает):
middleware = []
testApp = TestApp(app.wsgifunc(*middleware))
up = {
"stl_file": open("3dModel.stl", "rb"),
"Stl_type": "regular",
"Mark": "U",
"parameters": (None, open("parameters.json"), "application/json")
}
with open('upload_files.txt', 'w') as outfile:
json.dump(str(up), outfile)
filedata = [("Filedata","upload_files.txt")]
r = testApp.post("http://%s/StlProcessing" % host, upload_files=filedata)
Я ожидаю, что сообщение сможет загрузить JSON