ПитестPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Питест

Сообщение Anonymous »

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

Код: Выделить всё

import time
import pickle

class Solution:
""" A class that represents a solution of a very time-consuming problem. """

def solve_difficult_problem() -> Solution:
time.sleep(1)
return Solution()

def prepare_solution() -> None:
""" I solve the problem only once. I use the solution for all the
development of my new feature as it never changes. """
solution = solve_difficult_problem()
with open('solved.pickle', 'wb') as file:
pickle.dump(solution, file)

def my_feature(solution: Solution) -> None:
""" I am using the solution. """
print(solution)

def test_my_feature() -> None:
# prepare_solution()  # I run it only once: at the first run.
with open('solved.pickle', 'rb') as file:
solution = pickle.load(file)
assert my_feature(solution) is None
Моя проблема заключается в том, что с Pytest мне нужно вручную покинуть Prepare_solution () при первом заезде моих тестов. Есть ли способ для Pytest автоматизировать это? Но я не знаю, как сказать Pytest, что он должен запускать его вручную только в первый раз. По сути, я бы хотел, чтобы решение было доступно, пока я не удалю весь проект с моего компьютера.

Подробнее здесь: https://stackoverflow.com/questions/796 ... o-a-pickle
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • CS50P-проконклм Установите 7 Рабочий код выхода от 9 до 5-питест
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как найти все ссылки на питест в VSCODE?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Питест - неудача теста на мутацию - отрицал условную → выжил
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Питест
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»