太妃糖:测试对象夹具工厂-轻松创建测试数据夹具
toffee的Python项目详细描述
太妃糖:测试对象工厂夹具
太妃糖为您的模型夹具创建工厂:
from toffee import Fixture, Factory product_factory = Factory(Product, id=Seq()) class MyFixture(Fixture): product_1 = product_factory(desc='cuddly toy') product_2 = product_factory(desc='toy tractor') user = Factory(User, username='fred') order = Factory(Order, user=user, products=[product_1, product_2]) def test_product_search(): with MyFixture() as f: assert f.product_1 in search_products('toy') assert f.product_2 in search_products('toy')
太妃糖的范围与 factory_boy。 促使我编写新库的不同之处在于:
- Toffee提倡将fixture作为要创建的对象组使用 作为一个整体而不是单个工厂被摧毁
- 明确支持设备的设置/拆卸
读取Toffee documentation到 了解更多信息,或访问bitbucket repo。
太妃糖由Olly Cope开发和维护。
更改日志
1.0.0(发布日期:2019-05-15)
- 增加了对Python3.7的支持
- 放弃了对python 2.x的支持
0.2.1(发布日期:2017-10-04)
- 增加了对Python3.5和3.6的支持。放弃了对Python3.3、3.4的支持
版本0.2.0
- 已放弃对使用setattr配置子对象的支持。使用双色 改为强调约定。
- 工厂对象上的属性/项设置现在会导致相同的操作 正在生成的对象上执行。这对于创建 工厂对象之间的循环引用。
- 现在支持工厂对象列表,使其更易于管理 大量的测试对象。
- 工厂现在可以使用partial标志。这阻止了工厂 生成顶级命名对象,同时仍允许将其用于 其他工厂的基础。
版本0.1.6
- 增加了对Python3.4的支持。
- 放弃了对Python3.2的支持。
- 在拆卸之前删除fixture对象的测试不再被调用 使事务无效的sqlalchemy(从而可能导致以后 测试意外失败)。
- 向seq()添加了一个scope参数,该参数确定序列计数器是否 在每个固定装置设置开始时重置,或仅在开始时重置一次 测试运行。
版本0.1.5
- 许可:Toffee现在是在Apache许可2.0版下获得许可的
- 错误修复:修复了夹具期间lazyrecorderfactory.destroy\u对象中的异常 拆卸
版本0.1.4
- 添加了toffee.testwithfixture
版本0.1.3
- 数据映射器工厂(sqlalchemy和storm)支持查询 夹具中存在的对象< /LI>
- 添加了实验性的sqlalchemy支持
版本0.1.2
- 使设置因子选项更加灵活。现在可以改变 每个fixture类和/或位于的StormFactory的默认刷新/提交行为 使用上下文管理器语法时的设置时间。
版本0.1.1
- 错误修复:StormFactory没有刷新/提交fixture teardown上的存储 拆卸,这意味着在后续操作中,存储不会保持干净
版本0.1
- 初始版本