Mam zatem widok kolby, który dodaje zadanie związane z selerem do kolejki i zwraca 200 użytkownikowi.Test jednostkowy Widok kolby kpiący z zadań związanych z selerem
from flask.views import MethodView
from app.tasks import launch_task
class ExampleView(MethodView):
def post(self):
# Does some verification of the incoming request, if all good:
launch_task(task, arguments)
return 'Accepted', 200
Problem jest z testowania następuje, ja nie chcę mieć wystąpienie seler itp itd po prostu chcą wiedzieć, że po tym wszystkim weryfikacja jest ok, to zwraca 200 dla użytkownika . Seler launch_task()
będzie testowany w innym miejscu.
Dlatego bardzo chcę wyśmiać to wezwanie launch_task()
, więc w zasadzie nic nie robi, czyniąc moje unieruchamianie niezależnym od instancji selera.
Próbowałem różne inkarnacje:
@mock.patch('app.views.launch_task.delay'):
def test_launch_view(self, mock_launch_task):
mock_launch_task.return_value = None
# post a correct dictionary to the view
correct_data = {'correct': 'params'}
rs.self.app.post('/launch/', data=correct_data)
self.assertEqual(rs.status_code, 200)
@mock.patch('app.views.launch_task'):
def test_launch_view(self, mock_launch_task):
mock_launch_task.return_value = None
# post a correct dictionary to the view
correct_data = {'correct': 'params'}
rs.self.app.post('/launch/', data=correct_data)
self.assertEqual(rs.status_code, 200)
Ale nie wydaje się uzyskać go do pracy, moim zdaniem właśnie kończy pracę z 500 błędów. Każda pomoc będzie doceniona!