擅长:python、mysql、java
<p>如果您需要在测试期间向服务器发送请求(在这种情况下,这可能不是来自测试代码本身,而是来自某个模拟代码或JS代码):</p>
<p>扩展<code>LiveServerTestCase</code>而不是<code>TestCase</code>。这将在测试期间启动实际的服务器。在</p>
<p>如果您正在测试的常规代码中使用<code>request.build_absolute_uri()</code>,则需要更改测试代码以相应地更新HTTP请求头,如下所示:</p>
<pre><code>checkout_url = '{}{}'.format(self.live_server_url, reverse('checkout', kwargs={'pk': article.id}))
parsed_url = parse.urlparse(self.live_server_url)
# add the info on host and port to the http header to make subsequent
# request.build_absolute_uri() calls work
response = self.client.get(checkout_url, SERVER_NAME=parsed_url.hostname, SERVER_PORT=parsed_url.port)
</code></pre>