django rest-assured即时测试涵盖了基于django rest框架的api。

django-rest-assured的Python项目详细描述


BuildDownloadsLatest VersionLicense

立即测试覆盖基于django rest框架的api。

django rest assured在 django rest框架的APITestCase 它允许用一个类声明覆盖一组restful资源的端点。

这样既可以快速覆盖api的健全性测试,又可以使api更干燥、更友好。 用于编写附加的、更全面的测试的平台。

简单到

classCategoryTestCase(ReadWriteRESTAPITestCaseMixin,BaseRESTAPITestCase):base_name='category'factory_class=CategoryFactorycreate_data={'name':'comedy'}update_data={'name':'horror'}

django rest assured设计用于与factory_boy 用于模拟要测试的对象。但是,您可以轻松地扩展BaseRESTAPITestCase 直接与django模型或任何其他工厂合作。

主要功能

  • 用于创建测试的基于类的声明性api。
  • 覆盖堆栈到:route > view > serializer > model
  • 使用django rest框架的约定来最小化配置。
  • 所有测试都返回响应对象以获得更广泛的断言。
  • 如果提供了用户工厂,则自动模拟身份验证。

用法

基本的用法是创建一个扩展 任何从^ {TT3}$ $的混音,根据 要覆盖的终结点和BaseRESTAPITestCase类。

然后只需设置所需的属性,然后继续从那里扩展它。

示例

classCategoryAPITestCase(ReadWriteRESTAPITestCaseMixin,BaseRESTAPITestCase):base_name='category'factory_class=Categorycreate_data={'name','documentary'}update_data={'name','horror'}

如果您的api需要身份验证和/或授权,只需添加 用户工厂类。假设您使用factory_boy

示例

# in some factories.py module in your accounts appclassUser(factory.DjangoModelFactory):classMeta:model=Userexclude=('raw_password',)first_name='Robert'last_name=factory.Sequence(lambdan:'Paulson the {0}'.format(n))email=factory.sequence(lambdan:'account{0}@example.com'.format(n))username='mayhem'raw_password='123'password=factory.PostGenerationMethodCall('set_password',raw_password)is_active=True# now back in your tests.py moduleclassCategoryAPITestCase(ReadWriteRESTAPITestCaseMixin,BaseRESTAPITestCase):base_name='category'factory_class=Category# see here:user_factory=Usercreate_data={'name','documentary'}update_data={'name','horror'}

支持

测试运行依据:

  • Django 1.6、1.7、1.8和1.9。
  • django rest框架2.4.3、2.4.4、3.0、3.1、3.2和3.3。
  • python 2.7、3.3、3.4和3.5(3.2应该可以工作,但没有经过测试)。

安装

PYPI:https://pypi.python.org/pypi/django-rest-assured

$ pip install django-rest-assured

来源:https://github.com/ydaniv/django-rest-assured

$ git clone https://github.com/ydaniv/django-rest-assured
$ python setup.py install

贡献

问题在github repository中跟踪。

欢迎拉取请求!

运行测试

$ pip install pytest pytest-django
$ py.test

许可证

Django Rest Assured是根据BSD许可证发行的。

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?