问题标签 [django-testing]

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.

0 投票
2 回答
3182 浏览

django - django:: 在测试中调用中间件

我有一个定义request.foo. 我要测试的函数取决于从中间件定义的 foo 。由于在测试期间未运行中间件,我如何测试所述功能?

确实应该有一个函数接收请求,按顺序通过所有中间件运行请求,然后吐出最终请求(就像传递给视图时一样)。有这样的功能吗?

我可以手动调用中间件函数,但这似乎是一个 hack。如果被测中间件依赖于另一个中间件怎么办?我会遇到“中间件地狱”。

<示例>

中间件功能:

这是我要测试的功能:

我该如何测试getBaz

</示例>

<可能性>

我可以手动运行中间件:

但这似乎是一个黑客行为。如果被测中间件依赖于另一个中间件怎么办?

< /可能性>

0 投票
1 回答
1644 浏览

django - Django not running tests with manage.py test, unless an app and a specific test method is specified

I have a Django application, myApp. In it, there's a tests.py file which defines a number of test cases using django.test.TestCase class. For example, one of them is called WebViews, and has a test method check_status_codes.

When I run ./manage.py test, the database is built with my initial data, but then it tells me that it ran 0 tests. I get similar results (tests not running) if I do this:

./manage.py test myApp

or even this:

./manage.py test myApp.WebViews

However, if I execute

./manage.py test.WebViews.check_status_codes

then that exact test method runs as expected.

I can string bunch of test methods together like this and get them to run, but this gets very tedious and I have a feeling I'm missing something.

Any hints or suggestions regarding what to do?

Thanks!

0 投票
2 回答
2677 浏览

python - Django 测试技巧

本着这个问题的精神,我想知道是否有人对为 Django webapp 创建有用且“完整”的测试套件(测试套件是否可以“完整”?)有任何提示。

我的情况:我已经完成了一个原型,现在正在添加一些回归测试。我个人使用django-webtest进行大部分测试,并使用Django 测试客户端进行一些 URL 测试。

我对我的测试套件完全不满意。我远不是一个测试专家,所以试图在这方面进行改进。任何提示——无论是否适用于我的情况——将不胜感激。

0 投票
2 回答
3682 浏览

django - 使用 Django 在 teamcity 中测试覆盖率

我已经让 teamcity 工作了,它构建并运行了一个自定义测试运行程序(http://pypi.python.org/pypi/teamcity-messages

我把这篇文章弄糊涂了:TeamCity for Python/Django 持续集成

我的 run_suite 方法如下所示:

我目前将 django_coverage 与 coverage.py 一起使用,我希望 teamcity 获取测试覆盖率数据。

我不受 teamcity 的约束,但我更喜欢将其用作 CI 服务器,但如果更容易,我可以更改为另一个。

如何获取 ./manage.py test_coverage 在 teamcity 中打印的数据?

0 投票
5 回答
16390 浏览

python - 如何在 Django 测试框架中修改会话

我的网站允许个人在没有登录的情况下通过基于当前 session_key 创建用户来贡献内容

我想为我的视图设置一个测试,但似乎无法修改 request.session:

我想这样做:

但我得到了错误:

关于在发出获取请求之前如何修改客户端会话的想法?我已经看到,它似乎不起作用

0 投票
1 回答
1009 浏览

mysql - Django 测试 - South 和 MySQL 的问题

尝试在我们的 django 项目上设置我们的系统以利用 django 的测试框架。但是,当我尝试运行时python manage.py test,会出现下面解释的各种错误。

我们正在开发一个 django 环境,我们使用 reset.bat 批处理文件来重新启动我们的开发服务器并从我们的设备加载“干净”数据。除了处理我们的本地环境之外,后台文件还执行以下操作:

当我尝试python manage.py test使用默认设置的 InnoDB 引擎运行时,我得到:

撤消创建的表的 SQL 命令显示在“此处”。

当我尝试python manage.py test使用 MyISAM 运行时,我收到有关我们在系统上伪造的表的错误,该表应该在系统运行时创建。

任何关于如何让测试运行的想法或想法将不胜感激。

0 投票
1 回答
1158 浏览

python - Django 测试客户端可以用于生产中的 API 调用吗?

我正在使用基于活塞的 API 构建 Django 应用程序。为了保持一切尽可能干燥和 API 完整,我希望我的内部应用程序调用 API 而不是模型(类似于https://github.com/raganwald的代理视图控制器/homoiconic/blob/master/2010/10/vc_without_m.md但现在全部安装在一个 django 上)。所以基本设置是:

我可以重载一些核心 Piston 类来为应用程序创建一个内部客户端接口,但我想知道我是否可以使用 Django Test Client 来完成同样的事情。因此,要创建一篇文章,而不是调用我要运行的模型:

我是否有理由不使用测试客户端来执行此操作?(例如性能)是否有更好的工具更适合此特定目的?

0 投票
1 回答
24065 浏览

django - 在 settings.py 中指定 Django 测试数据库名称

我正在使用 python 对象指定数据库:

如何指定我的测试数据库的名称?我一直在尝试TEST_NAME = 'auto_tests'在 settings.py 文件中使用。但是,当我运行时,python manage.py tests <app_name>我收到以下消息:

我希望系统在运行我的测试时创建一个单独的数据库,大概称为“auto_tests_testsqldb”;但是,它仍然在问我有关 test_testsqldb 的问题。

任何建议表示赞赏!

0 投票
1 回答
2423 浏览

django - Django 1.3:测试期间发件箱为空

也许我不明白发件箱是如何工作的,但从文档中我了解到它只是在测试期间捕获所有外发邮件。

我使用新应用程序创建了一个新项目并添加了以下代码。

当我运行 python manage.py test app_name 时,它​​会给出一个断言错误,即 0 != 1。我做错了什么吗?

更新

好吧,如果我导入 django.core.mail 并使用 mail.outbox 它确实有效,这很奇怪。

试图比较 outbox 和 mail.outbox 的直接导入,它们都给出了不同的结果

返回:

也许我已经工作了很长时间并且错过了一些非常明显的东西?

0 投票
6 回答
22344 浏览

python - 在 Django 测试框架中使用 Basic HTTP 访问认证

对于我的一些 Django 视图,我创建了一个装饰器来执行基本 HTTP 访问身份验证。然而,在 Django 中编写测试用例时,我花了一段时间才弄清楚如何对视图进行身份验证。这就是我的做法。我希望有人觉得这很有用。