django测试运行程序使用py.test测试

django-pytest的Python项目详细描述


这个项目允许您使用py.test作为django测试运行程序,而不是 默认测试运行程序。

要使用它,请将其添加到python路径,并将django_pytest添加到安装的 应用程序。同时设置test_runner='django_pytest.test_runner.run_tests'设置。 如果您使用的是django 1.3或更高版本 test戋runner='django戋pytest.test戋runner.testrunner'或django将打印 每次运行测试时都会发出弃用警告。

同时在项目目录中创建conftest.py并包含:

from django_pytest.conftest import pytest_funcarg__client, pytest_funcarg__django_client

您还可以使用:

from django_pytest.auth_funcargs import pytest_funcarg__user, pytest_funcarg__groups

导入包含用户的用户或某些组

现在在项目的任何地方,都可以创建名为 测试某物。这些是标准的py.test测试文件。使用funcarg 客户端在每个测试中都实例化一个已清除的测试数据库 在每次测试之后,为您提供一个django测试客户机对象 在Django的测试系统中使用的。例如:

def test_filter(client): response = client.get(‘/browse/’, {‘filter’: ‘1’}) assert response.status_code == 200

使用/manage.py test运行py.test测试运行(即:它替换 标准Django测试运行程序)。可以将py.test选项传递给命令 它们将被转发到py.test。(严格地说,我没有通过 所有选项,只是我最常用的选项)

已设置管理命令,以便syncdb将使用django核心 syncdb ifsouth_tests_migrate设置为false(如果安装了south)。这个 防止在运行单元测试时运行迁移。这加速了测试 设置很重要,但这意味着您的测试数据库可能与 生产,如果您有错误的迁移。

test自动获取unittest.testcase的任何子类 它们位于名为“test”的模块中。因此,所有现有的Django unittests应该与py.test一起工作,尽管您可能需要重命名 如果您的测试文件不符合此约定。你也可以写 自定义py.test测试集合挂钩以获取在中命名的测试模块 不同的目录结构。

此项目与<;http://github.com/bfirsh/pytest_django>;不同之处在于 提供调用py.test的django测试运行程序,而不是创建 测试django项目的插件。我相信有重叠 两个项目的功能,以及它们可以集成到 一个项目,但我还没有看这个可行性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener