Python 使用Django测试客户端测试TastypieAPI总是导致空HTTP 200响应

Python 使用Django测试客户端测试TastypieAPI总是导致空HTTP 200响应,python,django,automated-tests,tastypie,Python,Django,Automated Tests,Tastypie,我已经定义了一个简单的Django-TastyPie API(它是从ModelResource派生的一个基本类;我使用的是0.9.11,最新的稳定版本)。UserProfileListResource类获取以JSON格式格式化的用户列表(因此,内容类型为application/JSON)。我没有复制代码,因为它在手动测试时运行良好 我在URL.py中注册了它,如下所示: v1_api = Api(api_name='v1') v1_api.register(UserProfileListReso

我已经定义了一个简单的Django-TastyPie API(它是从ModelResource派生的一个基本类;我使用的是0.9.11,最新的稳定版本)。UserProfileListResource类获取以JSON格式格式化的用户列表(因此,内容类型为application/JSON)。我没有复制代码,因为它在手动测试时运行良好

我在URL.py中注册了它,如下所示:

v1_api = Api(api_name='v1')
v1_api.register(UserProfileListResource())

urlpatterns += patterns('',
    (r'^api/', include(v1_api.urls)))
当我使用浏览器手动测试它时,它工作正常

但是,当我使用django.test.client.client编写一个简单的测试用例来发送请求时,我收到一个HTTP 200响应,响应内容为空,内容类型错误(text/html而不是application/json)

我在API代码中引入了一些日志语句,我意识到我的API代码根本没有被执行

据我所见,还有其他人取得了成功。我有什么明显的遗漏吗?我卡住了!:-(

请在下面找到我的测试代码;我的测试类继承自django.utils.unittest.TestCase(我也尝试过django.test.testcases.TestCase;但没有乐趣):


我已经知道我做错了什么。我继承了django.test.testcases.TestCase,而不是django.test.TestCase(unittests.TestCase就是不起作用)。当我改变了这一点时,一切都开始起作用了

我希望这能帮助其他人解决同样的问题

admin_user_profile = self._create_user_profile()

browser_client = Client()
response = browser_client.get(self.LIST_USERS_URL)
self.assertTrue(HttpResponse.status_code, response.status_code)

logging.debug(response._headers) #prints {'content-type': ('Content-Type', 'text/html; charset=utf-8'), 'location': ('Location', 'http://testserver/api/v1/users/?username=user&api_key=1681f96d50ba54b410c91365a678ec07b6375efc')}
logging.debug(response.content) #prints empty string