用于在单元测试中创建假模型的简单库。

django-fake-model的Python项目详细描述


https://badge.fury.io/py/django-fake-model.pnghttps://travis-ci.org/erm0l0v/django-fake-model.png?branch=masterCode Healthhttps://api.codacy.com/project/badge/235f71efbf3144178975bb3eb86964c8Requirements Statushttps://codecov.io/github/erm0l0v/django-fake-model/coverage.svg?branch=master

用于在单元测试中创建假模型的简单库。

这个简单的库允许在测试中创建假模型,而不需要迁移、测试应用程序和测试表。您需要的所有表都将在测试期间创建/删除。

安装

安装Django Fake型号:

pip install django-fake-model

快速启动

只需在任何文件(例如:在测试中)中创建一个模型,然后添加decorator@your model.fake\u me来测试方法或测试类。

fromdjango_fake_modelimportmodelsasffromdjango.dbimportmodelsfromdjango.testimportTestCase,TransactionTestCaseclassMyFakeModel(f.FakeModel):name=models.CharField(max_length=100)@MyFakeModel.fake_meclassMyFakeModelTests(TestCase):deftest_create_model(self):MyFakeModel.objects.create(name='123')model=MyFakeModel.objects.get(name='123')self.assertEqual(model.name,'123')classMyFakeModelFunctionTest(TestCase):@MyFakeModel.fake_medeftest_create_model(self):MyFakeModel.objects.create(name='123')model=MyFakeModel.objects.get(name='123')self.assertEqual(model.name,'123')classRelatedModel(f.FakeModel):text=models.CharField(max_length=400)classNyModel(f.FakeModel):text=models.CharField(max_length=400)related_model=models.ForeignKey(RelatedModel)@NyModel.fake_me@RelatedModel.fake_meclassTestRelatedModelsClassDecorator(TransactionTestCase):deftest_create_models(self):related_model=RelatedModel()related_model.text='qwerty'related_model.save()my_model=NyModel()my_model.test='qwerty'my_model.related_model=related_modelmy_model.save()self.assertIsNotNone(my_model)self.assertIsNotNone(related_model)

开发:

若要使用Docker在本地开发此引擎,请安装Docker引擎并 Docker Compose。然后你可以建立Docker镜像并运行测试 在所有tox活动中(这也使用共享pip缓存来减少下载 次数:

docker-compose up -d pg mysql
docker-compose run --rm test

如果您只想运行一个tox活动,也可以指定:

docker-compose run --rm test tox -e py35-dj19-mysql-unittest

如果添加任何依赖项或更改tox配置,则 重建图像:

docker-compose build

它将与Docker容器共享此文件夹,以便

用于制作此软件包的Cookiecutter工具

  • 厨师
  • Cookiecutter DjangoPackage

历史记录

0.1.4(2016-02-08)

  • 修复鼻子测试的类装饰器

0.1.3(2015-12-23)

  • 修复问题1多个假模型。感谢索尔·沙纳布鲁克(@saul shanabrook)
  • 增加对Docker开发的支持。再次感谢索尔·沙纳布鲁克

0.1.2(2015-11-13)

  • 添加了django 1.9支持
  • 添加了Travis配置生成器
  • 增加了鼻子测试
  • 删除django master的测试

0.1.1(2015-09-28)

  • 添加了不同数据库的测试。

0.1.0(2015-09-16)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java Oracle将休眠为ISO 8601日期格式   当有线程时,swing计时器不会停止。睡在Java里面   如何使用swing在java中清空密码字段值(字符串)   如何在编辑文本字段上设置单词java(安卓)   单独类中的java OkHttp请求   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   java在科尔多瓦的ActivityResult上传递   java如何在映射中保持插入顺序。工厂?   “DataOutputStream”和“ObjectOutputStream”之间的java差异   java从FTP文件列表中获取项目的时间戳   java如何在spring security中为每个人忽略一些资源/URL?   模板类嵌套时新的Java泛型类构造函数问题   java读取并查找文件大小为1GB的行   java如何使用字符串say“stop”停止整数格式的while循环   java是否可以在应用程序启动之间将JVM保留在内存中?   java Springboot出现“出现意外错误(类型=内部服务器错误,状态=500)”的问题