【发布时间】:2021-02-14 08:03:57
【问题描述】:
我开始测试views,但是我在测试中发现了一个错误,告诉我哪里出错了,我刚开始学习,所以不要严格判断 我的观点:
`class MovieDetailView(Genre, DetailView):
model = Movie
slug_field = "url"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["star_form"] = RatingForm()
return context
`
我的测试如下所示:
`def test_starform_set_in_context(self):
request = RequestFactory().get('some-slug')
view = MovieDetailView()
view.setup(request)
context = view.get_context_data()
self.assertIn('star_form', context))`
网址:
`path("<slug:slug>/", views.MovieDetailView.as_view(), name="movie_detail"),`
【问题讨论】:
-
显示完整的回溯。
-
回溯(最近一次调用最后):文件“C:\Users\endro\PycharmProjects\Django_movi\movies\Tests\test_views.py”,第 35 行,在 test_starform_set_in_context context = view.get_context_data()文件“C:\Users\endro\PycharmProjects\Django_movi\movies\views.py”,第 30 行,在 get_context_data context = super().get_context_data(**kwargs) 文件“C:\Users\endro\PycharmProjects\Django_movi\ venv\lib\site-packages\django\views\generic\detail.py",第 94 行,在 get_context_data if self.object: AttributeError: 'MovieDetailView' object has no attribute 'object'
标签: python-3.x django unit-testing django-views