文档

matlab.mock.constraints.WasCalledclass

包:matlab.mock.constraints

约束确定方法调用

描述

WasCalled约束产生一个资格失败如果不是一个实际的价值MethodCallBehavior实例,或者对应的方法MethodCallBehavior没有指定的次数。

建设

约束= WasCalled提供了一个约束,确定一个方法调用。如果一个方法叫至少一次,约束条件是满意。资格,一个方法是不叫,否定WasCalled约束与波浪号(~)算子。

约束= WasCalled (“WithCount”,n)提供了一个约束,满足当一个方法被调用n次了。

如果你否定WasCalled使用这种语法,如果方法不叫n次,约束传递。例如,如果一个方法被称为四次,~ WasCalled (WithCount, 3)通过和~ WasCalled (WithCount, 4)失败。

输入参数

全部展开

方法调用的数量,指定为一个整数。

属性

全部展开

方法调用,返回一个整数。这个属性是只读的。您可以指定在约束建设。

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象

例子

全部折叠

创建一个模拟银行账户类。

testCase = matlab.mock.TestCase.forInteractiveUse;(fakeAccount、行为)= testCase.createMock (“AddedMethods”,“存款”);

使用模拟账户。

fakeAccount.deposit (10);fakeAccount.deposit (20);fakeAccount.deposit (10);

构造传递情况。

进口matlab.mock.constraints.WasCalledtestCase.verifyThat (behavior.deposit (10)、WasCalled)
交互式验证通过。
testCase.verifyThat (behavior.deposit (10)、WasCalled (“WithCount”2))
交互式验证通过。
进口matlab.unittest.constraints.IsGreaterThantestCase.verifyThat (behavior.deposit (IsGreaterThan (100)) ~ WasCalled)
交互式验证通过。

构建失败的病例。

testCase.verifyThat (behavior.deposit (100), WasCalled);
交互式验证失败。- - - - - - - - - - - - - - - - - - - - - - - -框架诊断:- - - - - - - - - - - - - - - - - - - - - - - - WasCalled失败了。- - >方法“存款”是不叫用指定的签名。- - >观察方法调用(s)与任何签名:存款([1×1 matlab.mock.classes。模拟),10)存款([1×1 matlab.mock.classes。模拟),20)存款([1×1 matlab.mock.classes。模拟),10)指定方法调用:MethodCallBehavior […]=存款(<模拟>,100)
testCase.verifyThat (behavior.deposit (20), WasCalled (“WithCount”2))
交互式验证失败。- - - - - - - - - - - - - - - - - - - - - - - -框架诊断:- - - - - - - - - - - - - - - - - - - - - - - - WasCalled失败了。- - >方法“存款”并不是预期的次数与指定的签名。实际方法调用数:1将方法调用数:2——>观察方法调用(s)与任何签名:存款([1×1 matlab.mock.classes。模拟),10)存款([1×1 matlab.mock.classes。模拟),20)存款([1×1 matlab.mock.classes。模拟),10)指定方法调用:MethodCallBehavior […]=存款(<模拟,20)
testCase.verifyThat (behavior.deposit (IsGreaterThan (50)), WasCalled)
交互式验证失败。- - - - - - - - - - - - - - - - - - - - - - - -框架诊断:- - - - - - - - - - - - - - - - - - - - - - - - WasCalled失败了。- - >方法“存款”是不叫用指定的签名。- - >观察方法调用(s)与任何签名:存款([1×1 matlab.mock.classes。模拟),10)存款([1×1 matlab.mock.classes。模拟),20)存款([1×1 matlab.mock.classes。模拟),10)指定方法调用:MethodCallBehavior […]=存款(<模拟>、< IsGreaterThan约束>)

介绍了R2017a

这个主题有帮助吗?