擅长:python、mysql、java
<p>要在unittests中使用基于类的视图,请尝试<a href="http://django-downloadview.readthedocs.org/en/latest/testing.html#django_downloadview.test.setup_view" rel="noreferrer">here</a>中的<code>setup_view</code>。</p>
<pre><code>def setup_view(view, request, *args, **kwargs):
"""
Mimic ``as_view()``, but returns view instance.
Use this function to get view instances on which you can run unit tests,
by testing specific methods.
"""
view.request = request
view.args = args
view.kwargs = kwargs
return view
</code></pre>
<p>您仍然需要向它发送一个请求,可以使用<a href="https://docs.djangoproject.com/en/1.8/topics/testing/advanced/#the-request-factory" rel="noreferrer">^{<cd2>}</a>:</p>
<pre><code> factory = RequestFactory()
request = factory.get('/customer/details')
</code></pre>
<p>然后,您可以联合测试您的方法:</p>
<pre><code>v = setup_view(MyClassedBasedView(), request)
v.method_name()
</code></pre>