用于测试的辅助实用程序的集合。
cykooz.testing的Python项目详细描述
testing是用于测试的辅助工具的集合。
实用程序
dict
可以与其他dict对象进行比较的dict对象 不考虑在Dict实例中不存在的键。
>>>fromcykooz.testingimportDict>>>d1=Dict(a=1,b='foo')>>>d2={'a':1,'b':'foo','c':True}>>>d1==d2True>>>d2==d1True>>>d1!=d2False>>>d3={'a':1,'c':True}>>>d1==d3False>>>d3==d1False>>>d1!=d3True>>>Dict({'a':1})Dict({'a':1})
短别名:
>>>fromcykooz.testingimportD>>>{'a':1,'b':'foo'}==D({'a':1})True
列表
可以与其他列表对象进行比较的列表对象 不考虑其他列表对象中包含的额外项。
>>>fromcykooz.testingimportList>>>l1=List([1,'foo'])>>>l2=[1,'foo',True]>>>l1==l2True>>>l2==l1True>>>l1!=l2False>>>l3=[1,True]>>>l1==l3False>>>l3==l1False>>>l1!=l3True>>>l1==[1]False>>>List([1,'foo',True])List([1,'foo',True])>>>List([Dict(),Dict()])==[{'a':1},{'b':2}]True
短别名:
>>>fromcykooz.testingimportL>>>[1,'foo',True]==L([1,'foo'])True
任意值
此类的实例等于任何其他值。
>>>fromcykooz.testingimportAnyValue>>>v=AnyValue()>>>v==1True>>>1==vTrue>>>v!=1False>>>v=={'a':1,'b':'foo'}True>>>v==[1,2,3,'b']True>>>v==AnyValue()True>>>v<anyvalue>>>>{v:1}Traceback(mostrecentcalllast):...TypeError:unhashabletype:'AnyValue'>>>[v,v,v]==[1,2,'foo']True>>>[v,v,1]==[1,2,'foo']False>>>[v,v]==[1,2,'foo']False>>>{'a':v,'b':2}=={'a':1,'b':2}True
短别名:
>>>fromcykooz.testingimportANY>>>1==ANYTrue
regexpstring
如果匹配,则此类的实例等于任何其他值 给出regexp模式。
>>>v=RegExpString('first.*')>>>v==1False>>>1==vFalse>>>v!=1True>>>v=='first class'True>>>'first class'==vTrue>>>v!='first class'False>>>v<RegExpString:first.*>>>>{v:1}Traceback(mostrecentcalllast):...TypeError:unhashabletype:'RegExpString'>>>[v,v,v]==[1,2,'first class']False>>>[v,v,v]==['first class','first bus','first time']True
短别名:
>>>fromcykooz.testingimportR>>>'first class'==R('first.*')True
网址
可与其他URL对象进行比较的URL对象 不考虑编码、转义和排序的变幻莫测 查询字符串中的参数。
>>>fromcykooz.testingimportUrl>>>url1=Url('http://domain.com/container?limit=6&offset=0')>>>url2=Url('http://domain.com/container?offset=0&limit=6')>>>url1==url2True>>>url2=Url('http://domain.com/container?limit=6')>>>url1==url2False>>>url1=='http://domain.com/container?offset=0&limit=6'True>>>'http://domain.com/container?offset=0&limit=6'==url1True>>>{'key':'http://domain.com/container?offset=0&limit=6'}=={'key':url1}True