问题标签 [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 1.7 ImageField 表单验证
我正在使用 Django 1.7 和 Python 3.4 编写单元测试。当file_data
元素被注释掉时,下面的表单验证良好。包含file_data
它不会验证并且测试失败。
类似的代码适用FileField
于在我网站的其他地方上传测试。在 shell 中运行代码我得到以下信息form.errors
:'Upload a valid image. The file you uploaded was either not an image or a corrupted image.'
因此我认为问题出在content
orcontent_type
字段中。我已尝试在此答案中使用图像作为字符串,但无济于事。[编辑:图像作为字符串的方法实际上是答案,但我一定实施得很糟糕。接受的答案被验证为有效。]我在SimpleUloadedFile 源代码中找不到任何线索。
该表格在现实中工作正常,但我想确保它包含在未来维护的工作测试中。理想情况下,我希望避免必须存在实际test.jpg
文件,因为图像在我的.gitignore
文件中,我不想开始破解目前非常顺利的自动化部署。
我应该提供什么输入才能SimpleUploadedFile
正确验证?
python - 处理 Django 单元测试用例中的可选 url 参数
我创建了一个带有可选参数的动态网址
例如,如果我的 url 是www.example.com/getTest/1/
现在1
url 中的 this 是可选的,要在我使用过的视图中处理这个 None like
因此,如果 URL 中没有 id,那么该功能仍然适用于我。但是我在单元案例中对此进行测试时遇到了问题。如果我使用 url 因为url = reverse('yescourse:academypage_url', args=[None])
它给了我错误
NoReverseMatch: Reverse for 'academypage_url' with arguments '('new', None)' and keyword arguments '{}' not found.
所以请告诉我如何在测试用例或反向中处理这些可选 url。
编辑 :
python - 运行测试时 Django 1.7.1 自定义字段失败
我刚刚将我的 Django 1.6.5 项目升级到 Django 1.7.1。我按照记录的步骤从 South 迁移到 Django 1.7.1,它运行良好。
我遇到的问题是当我在我的项目上运行“python manage.py test”时,它失败并出现错误:
我相信这是由于我使用自定义字段将日期/时间字段存储为数据库中的时间戳整数。代码是:
即使我从项目中删除所有单元测试也会发生这种情况。有谁知道是什么原因造成的?在升级到 Django 1.7.1 之前它运行良好。
python - django urlresolver 抛出错误
我创建了一个 Django 项目foo
。
在views.py
中,我创建了两个基于类的视图HomePage
和ListPage
路由配置,如下所示urls.py
:
引发错误:
这里出了什么问题?默认根 url '/' 正在解析,但 'list' 没有解析
python - Django,测试重定向到外部页面
我的 Django 应用程序中有一个路由规则,用于重定向到外部 CDN 的下载。我现在正在为我的应用程序编写测试,并且我想测试该路由是否成功重定向到我的 Django 设置中配置的 url。这是一个简化的示例,应该有助于解释我正在尝试做的事情:
现在这不起作用,即使我在此方法中打印 settings.DOWNLOAD_URL 它是正确的,重定向也会得到 404,并且复制/粘贴到浏览器中证明它有效。我开始研究为什么它不起作用,我在 Django 源代码中注意到了这一点:
请注意,assertRedirects 不适用于外部链接,因为它使用 TestClient 进行请求。
那么,如何测试这些重定向?我不是在寻找任何超级花哨的东西,我希望检查的是响应的 status_code 和位置。我看到响应有一个跟随参数,并尝试了这样的东西,但它仍然没有工作:
有人要求我包含我的 urls.py 和 views.py 中的相关部分,它们是:
任何解决此问题的帮助将不胜感激。提前致谢。
python - 如何让我的测试夹具仅在 Django 中进行测试时加载?
我有一个带有生产装置和测试装置的 Django 项目。如何仅在运行测试时加载测试夹具?
django - 从tests.py调用数据库表
我有以下内容tests.py
应该像在我的代码的其他区域一样,调用sugarcrm 数据库并访问相关表。但是,由于某种原因,在 tests.py 文件中,test_
会在名称之前插入:
模型.py
如果我把这段代码放在外面def
,它工作正常,
python - Django:如何将用户与请求工厂相关联
我正在为 Django 网站上的表单编写一些测试。我想测试登录用户是否能够使用假设输入正确的表单。为此,我正在使用 Django 请求工厂。我似乎无法让我的测试用户登录。那,或者我什至没有正确地提出请求。我不确定。相关代码如下:
该请求必须认为用户已登录,否则测试的其余部分将不起作用。这不会引发任何错误,但我什至不确定我response
是否正确使用了请求。我是否正确地告诉测试“以该用户的身份向锦标赛页面发出发布请求,并尝试提交套牌”?
django - “无法使用提供的凭据登录”(在测试中)
我正在为用户注册和登录编写一个测试用例,我测试了 whit postman (chrome) 并且它可以工作,但测试用例没有。我djangorestframework-jwt
用于身份验证
测试:
结果:
非常感谢你帮助我:)
django - django test client doesnt call POST, but GET
I try to test view calling by POST. I use follow=True. But test client uses GET method and my POST data are not passed.
here is my view:
Here is my test:
When the view is called. It is not POST, but GET used and my POST params are empty of course. Can somebody say why its happened?
EDIT: I made a clean venv with fresh Django. And it works as expected(calls POST) Looks like there is something rotten in the state of Denmark.