django项目e2e测试的远程场景设置

django-remote-scenario的Python项目详细描述


https://badge.fury.io/py/django-remote-scenario.pnghttps://travis-ci.org/skalanux/django-remote-scenario.png?branch=masterhttps://coveralls.io/repos/skalanux/django-remote-scenario/badge.png?branch=master

Django项目E2E测试的远程场景设置

文档

完整的文档将放在https://django-remote-scenario.readthedocs.org

快速启动

安装django远程场景:

pip install django-remote-scenario

然后将其添加到现有的Django项目:

INSTALLED_APPS = [
...
django_rs

在设置文件中,还需要添加以下内容:

SETTINGS_FILE_PATH = __file__

您需要将django的url添加到项目url文件中,如下所示:

urlpatterns = patterns('',
...
url(r'^drs/', include('django_rs.urls')),
..
)

要创建自定义方案,只需在应用程序中创建名为“scenarios”的目录 ,然后添加任意多个要实现的方案的文件,并创建一个初始化py,使其成为一个模块 是的。在每个文件中,需要实现main()函数 设置要为场景创建的模型,可以手动创建它们 或者使用类似django_dynamic_fixtureshttps://github.com/paulocheque/django-dynamic-fixture

一旦一切就绪,以这种方式启动服务器,这将启用场景的动态调用:

python manage.py rune2eserver initial_data.json

注意:您需要传递一个初始fixture文件,其中包含数据的基本信息。

也可以(但不是强制性的)传递特定的设置文件,用于测试目的, 如果您想使用不同的数据库进行测试,例如:

python manage.py rune2eserver initial_data.json --settings=demoproject.test_settings [fixture1 fixture2....] [--addrport ipaddress:port]

您还可以使用现有的数据库,用“-跳过测试DB”或“-T”修饰符来加载上面的场景:

python manage.py rune2eserver -t initial_data.json

要开始使用它,只需转到以下URL即可:

http://127.0.0.1:8000/drs/[APPLICATION]/[SCENARIO]

这样做之后,数据库将填充您在 脚本。考虑到,每次调用场景时,所有其他数据 数据库中的数据将被删除,除了初始数据fixture文件中的数据,wich 再次加载,以及调用命令时作为参数传递的。

在这个存储库中,您将发现一个demo django项目使用 设置四个对象的方案。像这样使用:

首先运行服务器:

$ python manage.py rune2eserver initial_data.json --settings=demoproject.test_settings

然后转到浏览器并设置一个方案:

http://127.0.0.1:8000/drs/demoapp/scenario_1

您还可以传递一个参数以避免在特定调用时刷新数据库:

http://127.0.0.1:8000/drs/demoapp/scenario_1/?flush=0

稍后您可以在以下URL上看到结果:

http://127.0.0.1:8000/demoapp/

模拟

可以在场景调用之间模拟后端部分。你需要在里面添加一个新目录 scenarios目录并将其命名为ir'mocks',然后,再次,添加您想要实现的任意多个mocks,并创建一个'uuu init'.py,使其成为一个模块 是的。在每个文件里。您可以根据需要应用任意多个模拟,并可选择停用它们。请特别注意应用此模拟的顺序,因为它可能会影响它们的内部行为。

要应用mock,只需转到以下url(在demoapp/mocks中添加名为mock_1的文件)

http://127.0.0.1:8000/drs/demoapp/mocks/mock_1?activate=1

要删除模拟:

http://127.0.0.1:8000/drs/demoapp/mocks/mock_1?activate=0

模拟的示例可以在测试应用程序中找到

可浏览界面

通过访问drs的根url(在本例中为/drs/)

http://127.0.0.1:8000/drs/

功能

  • 待办事项

历史记录

0.1.0(2014-05-31)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像