- 96
- 0
在django的单元测试中,模拟用户登录,用户名密码均正确,但是views.py的函数获取request.user.pk始终为None
代码如下:
class driverTestCase(TestCase):
def setUp(self):
user = User.objects.create_user(username='management', password='123456')
company = CompanyModel.objects.create(name='公司1')
UserProfile.objects.create(user=user, company=company,userType=1)
CompanyModel.objects.create(name='公司2')
self.data ={
'username': 'management',
'password': '123456'
}
self.client = Client()
def test_get_driverinfo(self):
ss = self.client.login(username='management',password='123456')
print('vvvvvvvvvvvv',ss) ##输出ss为True
url = reverse('add_driverinfo')
data = {
'data': json.dumps({
'jobNumber': '123456',
'name': '张三',
'company': '公司1',
'gender': '女',
'phonenum': '15256589001',
'license': '34242311155654',
'licenseStart': '2019-03-01 00:05:05',
'licenseExpire': '2019-12-01 00:05:05'
})
}
res = self.client.post(url, data)
下面为url为add_driverinfo的视图函数
def add_deviceinfo(request):
if request.method == 'POST':
print('aaaaaaaaaaa',request.user.pk)
return HttpResponse(json.dumps(message), content_type='application/json')
这里的request.user.pk始终为None,但是测试前我已经self.client.login()登录用户,为何还获取不到呢?
- 共 0 条
- 全部回答
-
⑴個人的寂寞 普通会员 1楼
Django是一个开源的Python Web框架,它包含许多功能,包括数据库操作,模板渲染,请求处理等。然而,它并不是一个直接的单元测试框架,因为它主要用于开发,而不仅仅是测试。Django的测试主要是通过测试模板、视图和数据库等。然而,你也可以使用Django的测试框架,这需要一些额外的配置和工作。
如果你打算使用Django的测试框架,你可以按照以下步骤进行:
-
安装测试框架:在你的Django项目中,你可以使用pip来安装测试框架,例如
pip install django-test。 -
设置测试框架:在你的Django项目的settings.py文件中,你可以设置测试框架。例如,如果你想要使用Python的unittest框架,你可以这样设置:
python INSTALLED_APPS = [ # ... 'django.contrib.test', ]- 创建测试:在你的视图中,你可以使用unittest.TestCase来创建测试。例如,你可以创建一个名为
MyView的视图,然后在它的test_view方法中编写测试代码:
```python from django.test import TestCase from django.http import HttpResponse
class MyViewTest(TestCase): def test_view(self): response = HttpResponse('Hello, world!') self.assertEqual(response.status_code, 200) ```
- 运行测试:你可以使用Django的
python manage.py test命令来运行你的测试。这将生成一个测试报告,显示你的测试结果。
请注意,这只是一个基本的示例。你可能需要根据你的具体需求和项目来调整和扩展这个示例。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

