丁格斯打电话给应该DSL的匹配者
should-dingus的Python项目详细描述
此模块包含一个自定义匹配器,因此您可以将should_dsl与Dingus调用一起使用
一个小小的警告:应该DSL的“操作员黑客”和丁格斯的“或”不太合拍。 我认为黑客是肮脏的,我不确定我是否喜欢它。在我看来鲁比真的很漂亮。
您只需导入它
>>> from should_dsl import should, should_not >>> from dingus import Dingus >>> import should_dingus
调用
检查丁格斯的通话
>>> stub = Dingus('stub') >>> def some_function(): ... stub() ... >>> some_function |should| call(stub)
call还可以检查是否应该调用once:
>>> def some_function(): ... stub() ... stub() ... >>> stub.reset() >>> some_function |should| call(stub) >>> stub.reset() >>> some_function |should| call(stub).once Traceback (most recent call last): ... ShouldNotSatisfied: <Dingus stub> was called 2 times, expected 1
call甚至可以使用with_params检查参数:
>>> def some_function(): ... stub(True, kwak='tuut', braat='aap') ... >>> stub.reset() >>> some_function |should| call(stub).with_params(True, kwak='tuut', braat='aap') >>> stub.reset() >>> some_function |should| call(stub).with_params(True, kwak='tuut') Traceback (most recent call last): ... ShouldNotSatisfied: <Dingus stub> has not been called with params (True,) {'kwak': 'tuut'}
callwith_params可以与once:
>>> def some_function(): ... stub(True, kwak='tuut', braat='aap') ... >>> stub.reset() >>> some_function |should| call(stub).once.with_params(True, kwak='tuut', braat='aap') >>> stub.reset() >>> some_function |should| call(stub).with_params(True, kwak='tuut', braat='aap').once