轻量级测试数据生成框架
yamb的Python项目详细描述
基本示例
fromyambimportLiteral,Nested,Collection,YAMBObjectclassAddress(YAMBObject):city=Literal(default='New York')street=Literal()classPerson(YAMBObject):name=Literal()phone=Literal()address=Nested(Address)deflives_close_to(self,another_person):returnself.address.city==another_person.address.cityclassPhonebook(YAMBObject):title=Literal()people=Collection(Person)friends=Phonebook(title='Friends',people=[])friends.people.append(Person(name='Sue',phone='+12345',address=Address(street='Some blvd')))sam=Person(name='Sam',phone='+123456',address=Address(city='London',street='Picadilly'))friends.people+=[sam]withopen('friends.yml','w')asf:f.write(friends._dump())parsed=Phonebook._load(open('friends.yml'))assertparsed.title=='Friends'assertparsed.people[0].address.city=='New York'assertparsed.people[1].name=='Sam'