CreateView を継承する Class ビューがあります
class CreateErrandView(ErrandFormMixin, CreateView):
form_class = ErrandForm
@method_decorator(ensure_csrf_cookie)
def dispatch(self, *args, **kwargs):
print("passes through here")
return super(CreateErrandView, self).dispatch(*args, **kwargs)
def form_valid(self, form, formset):
print("create some transactions")
print("not pass through here")
return super(CreateErrandView, self).form_valid(form, formset)
def post(self, *args, **kwargs):
print("passes through here")
return super(CreateErrandView, self).post(*args, **kwargs)
そして、投稿を作成して form_valid メソッドを実行するテストを作成する必要があります
私が書いた
class ErrandTransactionsTest(TestCase):
def setUp(self):
self.c = Client()
def test__test_valid_form(self):
# Arrange
form_data = {
u'type': 'taxi'
}
form = ErrandForm(data=form_data)
# Act
self.assertEqual(form.is_valid(), True)
response = self.c.post(reverse('errands_create'), form_data)
# Assert
self.assertEqual(len(Transactions.objects.all()), 5)
しかし、うまくいきません。
提案をありがとう