Main Content

clearMockHistory

类: matlab.mock.TestCase
命名空间: matlab.mock

清除 mock 对象交互的历史记录

语法

clearMockHistory(testCase,mock)

说明

clearMockHistory(testCase,mock) 清除 mock 对象交互的历史记录。clearMockHistory 方法不会清除 mock 对象的行为。要同时清除交互和行为,请创建一个新 mock。

输入参数

全部展开

测试用例的实例,指定为 matlab.mock.TestCase 对象。

要清除其交互历史记录的 mock,指定为 mock 对象。

示例

全部展开

使用 myMethod 方法构造一个 mock。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock, behavior] = testCase.createMock("AddedMethods","myMethod");

通过调用方法与该 mock 进行交互。然后验证已调用该方法。

mock.myMethod('abc');
testCase.verifyCalled(behavior.myMethod('abc'))
Verification passed.

查看交互历史记录。

h = testCase.getMockHistory(mock)
h = 

  SuccessfulMethodCall with properties:

       Name: "myMethod"
     Inputs: {[1×1 matlab.mock.classes.Mock]  'abc'}
    Outputs: {[]}

Interaction summary:
  myMethod([1×1 matlab.mock.classes.Mock], 'abc')

清除所记录的交互的历史记录并重新测试该方法是否已调用。这一次未通过验证。

testCase.clearMockHistory(mock)
testCase.verifyCalled(behavior.myMethod('abc'))
Verification failed.

    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyCalled failed.
    --> Method 'myMethod' was never called.
    
    Specified method call:
    MethodCallBehavior
        [...] = myMethod(<Mock>, 'abc')

再次查看交互历史记录。它现在为空。

h = testCase.getMockHistory(mock)
h = 

  1×0 InteractionHistory array with properties:

    Name

版本历史记录

在 R2018b 中推出