需要doublex test double断言的匹配器
doublex-expects的Python项目详细描述
doublex需要的是Expects断言库的匹配器库。它为Doublex测试双库提供匹配器。
用法
只要导入expectcallable,doublex就需要匹配器,并开始为测试double编写断言。
间谍
fromexpectsimportexpectfromdoublex_expectsimport*fromdoubleximportSpymy_spy=Spy()my_spy.method()expect(my_spy.method).to(have_been_called)
模拟
fromexpectsimportexpectfromdoublex_expectsimport*fromdoubleximportMockwithMock()asmy_mock:my_mock.reset()my_mock.add(1)my_mock.reset()my_mock.add(1)expect(my_mock).to(have_been_satisfied)
匹配器
有人叫你
声称有人叫了间谍。
expect(my_spy.method).to(have_been_called)expect(my_spy.method).not_to(have_been_called)
你是否被称为
声称一名间谍被传唤时有特定的论据。
expect(my_spy.method).to(have_been_called_with('foo',key='bar'))expect(my_spy.method).to(have_been_called_with(a(str),key=match('\w+')))expect(my_spy.method).to(have_been_called_with(anything,key='bar'))expect(my_spy.method).to(have_been_called_with('foo',any_arg))expect(my_spy.method).not_to(have_been_called_with('bar',key='foo'))
称为修饰符的时间
一次
声称间谍被准确地称为once。
expect(my_spy.method).to(have_been_called.once)expect(my_spy.method).to(have_been_called_with('foo').once)expect(my_spy.method).not_to(have_been_called.once)
两次
声称间谍被准确地称为两次。
expect(my_spy.method).to(have_been_called.twice)expect(my_spy.method).to(have_been_called_with('foo').twice)expect(my_spy.method).not_to(have_been_called.twice)
准确地
声称一个间谍被准确地称为n次。
expect(my_spy.method).to(have_been_called.exactly(3))expect(my_spy.method).to(have_been_called_with('foo').exactly(3))expect(my_spy.method).not_to(have_been_called.exactly(3))
最大值
断言间谍被称为最大{^ EM1}$NEEE>次。
expect(my_spy.method).to(have_been_called.max(2))expect(my_spy.method).to(have_been_called_with('foo').max(2))expect(my_spy.method).not_to(have_been_called.max(2))
最小值
声称间谍被称为最少n次。
expect(my_spy.method).to(have_been_called.min(2))expect(my_spy.method).to(have_been_called_with('foo').min(2))expect(my_spy.method).not_to(have_been_called.min(2))
您是否满意
验证是否满足模拟调用。
expect(my_mock).to(have_been_satisfied)expect(my_mock).not_to(have_been_satisfied)
您对任何订单是否满意
验证是否已满足模拟调用,而不管执行顺序如何。
expect(my_mock).to(have_been_satisfied_in_any_order)expect(my_mock).not_to(have_been_satisfied_in_any_order)
安装
您可以使用pip或easy_install安装pypi的最后一个稳定版本。
$ pip install doublex-expects
您还可以从github安装最新的源代码。
$ pip install -e git+git://github.com/jaimegildesagredo/doublex-expects.git#egg=doublex-expects
规格
要运行规范,您应该安装测试需求,然后运行mamba。
$ python setup.py develop $ pip install -r test-requirements.txt $ mamba