问题标签 [django-tests]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 如何避免在 django 中创建测试数据库进行测试?
当我运行这些测试用例时,我已经为我的项目编写了一些测试用例,它每次都会为别名“default”创建测试数据库,然后在给出消息后销毁数据库。我只关心消息,所以如何避免创建测试数据库,因为这需要很多时间。
django - 出现错误:用户名和密码不匹配,尝试测试登录 rest api 时?
下面我尝试为登录 api 编写测试用例,当我在任何类之外编写测试时,它不会给出任何错误,但是当我创建类 class TestCase(TestCase):
并定义方法时def test_login(self):
。它给出了密码不匹配,但在相同的代码之外成功运行。
在这里我们可以看到消息是成功的不同格式
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
对于不成功
{u'message': u'Username and Password mismatch', u'result': {}, u'error': 1}
。每个u
变量之前都有。我认为问题就在这里......
python - 如何在 django 中测试登录 rest api?
Edit2: 我得到了为什么我收到错误,密码不匹配。这是由于测试数据库本身不包含用户名和密码。
编辑1:
下面我尝试为登录 api 编写测试用例,当我在任何类之外编写测试时,它不会给出任何错误,但是当我创建类 class TestCase(TestCase):
并定义方法时def test_login(self):
。它给出了密码不匹配,但在相同的代码之外成功运行。
在这里我们可以看到消息是成功的不同格式
{"message": "", "result": {"username": "john", "session_key": "xyz"}, "error": 0}
对于不成功
{u'message': u'username=john and password=xxx Username and Password mismatch', u'result': {}, u'error': 1}
。
login api 编写如下,但是当我在类 Test_login 中定义 test 时,它不是if part而是 go in else part。在其他部分,我尝试打印用户名和密码以及响应。我收到了类似的回应{u'message': u'username=john and password=xxx Username and Password mismatch', u'result': {}, u'error': 1}
在这里我们可以看到用户名和密码是正确的。为什么它不去if part。我在网上研究得到类似的问题。它提到了同样的问题。因此,据我所知,用户名和密码是正确的。怎么了 ?
后台登录接口
因此,据我所知,用户名和密码是正确的。怎么了 ?
python - 如何在 django 中初始化测试数据库?
我正在为我用 django 编写的项目编写测试用例,它给出了一个意想不到的输出,看起来像{u'message': u'', u'result': {u'username': u'john', u'user_fname': u'', u'user_lname': u'', u'cur_time': 1442808291000.0, u'dofb': None, u'sex': u'M', u'u_email': u'', u'role': u'', u'session_key': u'xxhhxhhhx', u'mobile': None}, u'error': 0}
在这里我们可以看到其他字段是空的,因为我刚刚在测试用例中创建了用户,但没有给出其他信息。数据库是从生产数据库创建的,但未初始化,它保持为空。这就是为什么它让其他字段为空。它正在查询空数据库。
我为登录 REST API编写了以下测试用例。并通过python manage.py test运行它。请告诉我如何解决上述问题。
注意:如果以下方法不正确,那么您可以建议其他方法。
python - 登录测试用例在 Django 1.8 中失败
今天我在学习用Django编写测试用例,并编写了一个用于检查有效用户身份验证的测试用例。
我已经创建了一个username='rakesh'
,password='ranjan'
但response
即将推出 be False
。我对编写测试用例相当陌生,如果有人能告诉我我的test_login
功能出了什么问题,我将不胜感激。我还想编写一个测试用例来检查 django URL 是否 403 禁止未经身份验证的用户,以及 403 禁止经过身份验证但不是员工用户。谁能给我一个好的文档。
python - 如何在 Django 中使用 LiveServerTestCase 和 Selenium 测试登录功能
我正在为一个项目编写测试用例,并想测试我的登录功能。我正在使用LiveServerTestCase
课程,selenium
并在 Django 网站 [链接] ( https://docs.djangoproject.com/en/1.8/topics/testing/tools/ ) 中关注此文档。如果你看到下面的代码:
我的用户名是rakesh
,密码是ranjan
,我想知道为什么下面的代码在这里失败了?我正确地发送了我的参数,但它仍然不接受。
由于在每个测试用例上都会创建一个新数据库,是否也可以在上述代码中创建新用户和密码?我对编写测试用例特别陌生,将不胜感激。
我也无法理解你的意思fixtures = ['user-data.json']
python - 在 Django 中测试 url 重定向
如果我去http://localhost:8000/login/
,将显示登录表单,您必须输入username
和password
。如果凭据正确,那么您将被重定向到http://localhost:8000/dashboard/
. 我在测试时面临的问题是即使我的username
并且password
是正确的,它也没有重定向到http://localhost:8000/dashboard/
,而是转到http://testserver/admin/login/?next=/dashboard/
. 我正在使用下面的代码来休息 django 中的重定向功能:
谁能告诉我为什么我被重定向http://testserver/admin/login/?next=/dashboard/
到http://localhost:8000/dashboard/
。
在我的settings.py
文件中:
我的应用程序运行良好,但我无法测试重定向。谁能给我一些指示我哪里出错了?
如果我打印出来print self.client.login(username='rakesh', password='ranjan')
,True
这意味着我可以登录但为什么不能重定向?
更新:我也尝试使用硒
在这里,我也得到了admin
页面的 body.text,但没有得到dashboard
页面。
更新 :
仪表板视图:
python - 如何在 Django 中进行测试时使用请求库获取状态代码
我正在为我的 Django 应用程序编写测试用例,但我在 Python 中使用 requests 包来访问状态代码,然后使用 assert 语句。此测试用例仅适用于员工用户:
只有员工用户可以访问仪表板,所以我创建了一个员工用户对象。以下行
self.client.login(username='abc', password='1234')
即将成为现实。
self.client.get('/dashboard/')
如果我打印出这一行,它会显示页面的 html 内容,这意味着我的员工用户可以访问dashboard
.
但是当我使用请求模块查看dashboard
url 的状态代码时,它显示status code = 500
,并且我的测试失败了。
s = requests.get('http://localhost:8000/dashboard/')
print s.status_code
谁能告诉我这里哪里出错了?为什么我的状态码显示为 500,即使员工用户可以访问仪表板并使用print self.client.get('/dashboard/')
. 帮助!
python - 使用 Selenium 测试 Django 应用程序时出现 IntegrityError 错误
我正在使用 selenium 测试一个 django 应用程序,我的代码如下所示:
当我运行这个测试用例时login_staff
,我得到一个错误
IntegrityError:唯一约束失败:auth_user.username
因为在开始我的每个测试用例时,我都在创建一个新的数据库和用户实例,那么为什么会出现这个完整性错误呢?有没有办法在这里刷新以前的数据库?知道为什么即使在运行这个测试时创建了一个新数据库,这个错误仍然会出现吗?
python - 如何测试视图是否只能由 Django 中的员工用户访问
我正在 Django 中学习测试,并且有一个我想测试的视图。此视图只能由员工用户访问。假设视图是:
如果请求来自员工用户,它应该重定向到存储库,否则我应该得到类似permission denied
. 我从类似 in 的东西开始tests.py
。
问题出在这里我没有将我的请求对象与任何用户相关联,而且我也了解from django.contrib.admin.views.decorators import staff_member_required
但不确定如何在这里使用它们。谁能告诉我应该如何测试我的view
应该只能被访问staff users
?