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

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如何通过解决错误“活动无法转换为片段”将片段传递给类构造函数?   Java中清理Code39条码数据的regex帮助   将java转换为C++   java无法在Android Studio中生成签名的apk,出现错误   从数学方程出发   MySQL和Java内存问题   如何强制Java抛出算术异常?   java为什么JDBC将零端口视为空(默认)端口?   java如何在没有“changelog主题”的情况下加入KStream和KTable   排序我尝试合并两个排序的数组,但得到的是java。lang.ArrayIndexOutofBounds异常:5无法找出原因   如何在java中求大长度矩阵的逆?   基于maven构建的java生成类路径字符串   java每20个字符分割一个字符串,然后将每个部分打印到控制台   将字符串数字字转换为字符串数字:Java   在特定区域使用混合类型的java填充字节数组   尽管java类在开关块中实例化,但它只能调用接口方法